activeMQ의 질문
protected void lock() throws Exception {
lockLogged = false;
lockAquired = false;
do {
if (doLock()) {
lockAquired = true;
} else {
if (!lockLogged) {
LOG.warn("Waiting to Lock the Store " + getDirectory());
lockLogged = true;
}
Thread.sleep(1000);
}
} while (!lockAquired && !disableLocking);
}
protected boolean doLock() throws IOException {
boolean result = true;
if (!disableLocking && directory != null && lock == null) {
String key = getPropertyKey();
String property = System.getProperty(key);
if (null == property) {
if (!BROKEN_FILE_LOCK) {
lock = lockFile.getChannel().tryLock();
if (lock == null) {
result = false;
} else {
System.setProperty(key, new Date().toString());
}
}
} else { // already locked
result = false;
}
}
return result;
}
위의 코드에서dolock은 시종일관false로 되돌아옵니다.그리고 록 () 방법이 죽은 순환이 되는 것을 볼 수 있다.이게 active MQ의 문제인지 아니면 나 자신이 어디가 틀렸는지 모르겠다.
구성은 다음과 같습니다.
<amq:broker useJmx="false" persistent="true">
<amq:persistenceAdapter>
<amq:amqPersistenceAdapter directory="e:/amq" />
</amq:persistenceAdapter>
<amq:transportConnectors>
<amq:transportConnector uri="tcp://192.168.103.74:61616" />
</amq:transportConnectors>
</amq:broker>
결국 어쩔 수 없이 지구화를 없애고persistent를false로 바꿀 수밖에 없었다.
<amq:broker useJmx="false" persistent="false">
<!-- <amq:persistenceAdapter>
<amq:amqPersistenceAdapter directory="e:/amq" />
</amq:persistenceAdapter> -->
<amq:transportConnectors>
<amq:transportConnector uri="tcp://192.168.103.74:61616" />
</amq:transportConnectors>
</amq:broker>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception in thread main java.lang. NoClassDefFoundError 오류 해결 방법즉,/home/hadoop/jarfile) 시스템은 Hello World 패키지 아래의class라는 클래스 파일을 실행하고 있다고 오인하여 시스템의 CLASSPATH 아래 (일반적으로 현재 디렉터리를 포함) Hell...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.