tags:

views:

282

answers:

5

I want to be able to send messages to a remote JBoss server (JBoss MQ).

I can do it for a local one but i'm stuck when trying with a remote one.

can anyone explain to me how to do it ? are there any specific steps to take ?

[what i've tried so far]

I need to send a message to a remote server's queue (running "JBoss MQ") so that it can process the message and act on it.

    Properties properties = new Properties();
    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces");
    properties.put(Context.PROVIDER_URL, "jnp://192.168.131.129:1299");
    InitialContext jndiContext = new InitialContext(properties);

    //[2] Look up connection factory and queue.
    ConnectionFactory connectionFactory = (ConnectionFactory)jndiContext.lookup("UIL2XAConnectionFactory");
    Queue queue = (Queue)jndiContext.lookup("Queue/DataTransferQueue");

but I get an exception when running the above code : (even though, I can ping the remote server).

javax.naming.CommunicationException: Could not obtain connection to any of these urls: 192.168.1.131.129:1299 and 
discovery failed with error: javax.naming.CommunicationException: 
Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] 
[Root exception is javax.naming.CommunicationException: Failed to connect to server 192.168.1.131.129:1299

Is there anything special to do to connect to a remote queue ?

A: 

It would be helpful if you show us what you've tried so far and what error do you get so we can correct your mistakes.

Viorel
see up. I've edited the original post.
Attilah
A: 

If you're stuck, it usually helps to unstuck yourself.

jarnbjo
+1  A: 

Have you verified that you can connect to that remote host and port, i.e. telnet 192.168.131.129 1299? You might have a firewall that's blocking some traffic but allowing pings.

pra
thanks for the suggestion. I've tried and couldn't connect. there's no firewall and it still doesn't work.
Attilah
+1  A: 

OK, so after trying a lot, I finally found out what the problem was :

I didn't start JBoss on the remote server in a way it could accept remote connections. by default, JBoss starts allowing only local connections.

so, I restarted it with this argument : -b 0.0.0.0 and it works fine now.

Thanks for your help and support.

Attilah
A: 

i am trying to receive from a message from a remote queue using mdb i followed these steps http://community.jboss.org/wiki/HowDoIConfigureAnEJB3MDBToTalkToARemoteQueue

and started both servers with -b 0.0.0.0

i have connection time out exception

does anyone have a solution ?

Taha Yusuf