activeMQ의 질문

2644 단어 threadactivemq
오늘은 mule로 activeMQ와 통합할 때, mule를 시작할 때 항상 activeMQ의 시작에 머물러 있습니다.원본 코드를 보니 active MQ에 사순환이 생겼습니다.

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>

좋은 웹페이지 즐겨찾기