고정 된 간격으로 텍스트를 보내는 응용 프로그램을 디자인하고 있습니다. 이 간격 동안 응용 프로그램은 데이터를 수집하여 임시로 버퍼에 저장 한 후 데이터베이스에 저장합니다.자바에서 데이터 전송 버퍼의 일반적인 구현은 무엇입니까?
나는 그들을 메모리에 저장하려고하지 않습니다.
현재 H2 임베디드 데이터베이스를 사용하려고합니다.
Java에서 버퍼 구현에 일반적으로 사용하는 것은 무엇입니까? 일반 텍스트 파일? 로그 파일?
고정 된 간격으로 텍스트를 보내는 응용 프로그램을 디자인하고 있습니다. 이 간격 동안 응용 프로그램은 데이터를 수집하여 임시로 버퍼에 저장 한 후 데이터베이스에 저장합니다.자바에서 데이터 전송 버퍼의 일반적인 구현은 무엇입니까?
나는 그들을 메모리에 저장하려고하지 않습니다.
현재 H2 임베디드 데이터베이스를 사용하려고합니다.
Java에서 버퍼 구현에 일반적으로 사용하는 것은 무엇입니까? 일반 텍스트 파일? 로그 파일?
메모리 버퍼는 응용 프로그램 요구 사항에 따라 다릅니다. 예를 들어 응용 프로그램이 안정적이어야하며 문제가 발생하여 충돌이 발생할 경우 복구를 관리하면 파일을 사용하는 것이 더 나은 방법이며 일부 데이터가 아직 처리되지 않은 경우 복구 할 수 있습니다.
MOM (Message oriented middlware) 옵션도 있습니다.이 솔루션은 안정성을 필요로하지 않으며 많은 데이터 교환 만 있으면 MOM을 사용할 필요가없는 등 신뢰성을 포함한 많은 이점을 제공합니다. 귀하의 의견을 읽은 후
JMS가 과도하게 보인다. 내 응용 프로그램은 실행중인 프로그램의 정보를 수집하는 작은 유틸리티 프로그램입니다. – janetsmith
예, 그렇기 때문에 작은 응용 프로그램이라면 MOM이 필요하지 않습니다. –
, 나는 당신의 문제에 대한 구현이 될 수 있다고 생각한다
는 에 모두 StringBuilder를 보관, 필요한 모든 정보를 수집 곳에서 트랜잭션 서비스를 만들고 정보와 마지막으로 명확를 보내 데이터베이스의 내용, 문제가 발생하면 데이터베이스가 정보를 보존합니다. 즉 안정적인 서비스.
다중 스레드를 사용하여 정보를 복구하는 경우 StringBuilder가 동기화되지 않으므로 솔루션에 StringBuilder에서 작동하는 다중 스레드가있는 경우 클래스를 내부적으로 동기화하거나 StringBuffer를 사용하는 것을 잊지 마십시오 (스레드 안전하지만 느린).
이 정보가 도움이되기를 바랍니다.
버퍼는 일반적으로 파일 시스템에 쓰거나 데이터베이스에 저장하는 대신 * 사용됩니다. 왜 메모리 내 버퍼를 사용하지 않는가? –
일반적으로 메모리에 버퍼링하여 충분한 메모리가 있는지 확인하십시오. 오랜 시간 동안 저장하는 매우 많은 양의 데이터에 대해서만 파일이나 데이터베이스를 사용합니다. –
내 응용 프로그램은 실행중인 다른 프로그램의 통계 수치를 수집하여 많은 양의 데이터를 생성 할 수 있습니다. – janetsmith