문제

응용 프로그램을 배포하는 데 다음과 같은 문제가 있습니다.

서버 간의 통신에 JMS와 원격 OpenMQ를 사용합니다. 문제는 연결이 완전히 신뢰할 수 없으므로 위 또는 아래에있을 수 있다는 것입니다. 다시 연결하기 위해 JMS를 설정하여 Glassfish 속성을 다시 연결하여 연결이 손실되면 다시 연결됩니다. 문제는 응용 프로그램을 배포하려고 할 때 발생하며 연결이 없습니다. 연결을 계속 재 시도하는 것처럼 보이지만 연결을 사용할 수있을 때까지 응용 프로그램이 배포가 완료되지 않습니다.

연결이 없어도 배포가 계속되고 연결을 사용할 수있을 때까지 계속 재시험 할 수있는 방식으로 구성 할 수 있습니까?

정말 감사합니다.

편집하다: 다른 스레드에서 MDB 초기화를 실행하려고합니다. 나는 둘 다 시도했다

나는 Sun-Ejb.jar.xml을 변경하는 두 가지 방법으로 MDB에 다른 스레드를 할당하려고합니다.

        <bean-pool>
            <steady-pool-size>1</steady-pool-size>
            <resize-quantity>1</resize-quantity>
            <max-pool-size>1</max-pool-size>
            <pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
        </bean-pool>

그리고 또한

        <use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>

그러나 나는 운이 없었다. 이 스레드가 새 스레드를 가져 오는 것처럼 보이기 때문에이 스레드가 끝나기를 기다리는 것처럼 보이지만 해당 스레드가 끝날 때까지 기다릴 때 응용 프로그램을 시작하기를 기다립니다. 따라서 제 경우에는 응용 프로그램이 올바르게 배포되지 않습니다.

편집 2 다른 스레드에서도 JMS 서비스를 실행하려고했습니다 ...

asadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra

운이 없습니다.

도움이 되었습니까?

해결책

Glassfish Default JMS 제공 업체를 사용하면 불가능합니다. 마침내 JCA 어댑터를 변경 하여이 작업을 수행했습니다.

https://jmsjca.dev.java.net/

다른 팁

JMS에 연결되는 별도의 스레드를 산란하여 주요 응용 프로그램이 차단되지 않고 계속 실행되도록 생각할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top