2

I have the following problem deploying my application.

It uses JMS and a remote openMQ for communication between servers. The problem is that the connection is not fully reliable so it can be up or down. For reconnecting I set the jms reconnect glassfish property so it reconnects if at some moment the connection gets lost. The problem arises when i try to deploy the application and there is no connection. It looks like it keeps retrying the connection but the application does not finish deployment until connection is available.

Is it possible to configure it in any way that the deployment continues even if there is no connection and keeps retrying until there is connection available?

Thanks a lot.

Edit: I'm trying to run the MDB initialization in a different thread. I tried both

I'm trying to assign a different thread to the MDB by two ways changing sun-ejb.jar.xml

 <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>

and also with

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

But I had no luck. Looks like it's waiting for this thread to end since it looks like it's getting the new thread but it waits for that thread to end to finish starting application so, in my case, application doesn't get deployed correctly..

Edit 2 I tried to run jms service in a different thread also...

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

No luck also.

MaDa
10.8k10 gold badges51 silver badges85 bronze badges
asked Mar 16, 2010 at 9:52
2
  • A wild guess: try to set the min-pool-size to zero. Maybe it helps. Commented Mar 16, 2010 at 11:01
  • I tried but doesn't seem to have effect. Probably it's trying to register in the queue but I can't be sure... Commented Mar 16, 2010 at 14:33

2 Answers 2

1

With glassfish default JMS provider this is impossible. I finally managed to do this by changing JCA adapter to

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

answered Mar 27, 2010 at 10:10
0

Can you think of spawning a separate thread that connects to the JMS, such that the main applications keeps running without being blocked.

answered Mar 17, 2010 at 11:20
1
  • Looks like a good idea. I cannot spawn a thread myself since i'm in J2EE but glassfish gives un some facilities. Anyway it still does not work. I edited the question. Commented Mar 17, 2010 at 17:11

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.