# Problem mit JMS und Weblogic 10



## quake1b (11. Mai 2009)

Hallo @all,

ich möchte zwischen zwei Weblogic 10 Servern eine JMS-Verbindung aufbauen.
Auf Server 1 ist ein JMS-Server auch schon am laufen und ein Listener empfängt auch schön alles was man in die Queue reinwirft.

Das geht von der lokalen Maschine und auch über Firewalls hinweg von anderen aus der Konsole heraus (Sun Solaris).

Wenn ich jedoch innerhalb eines zweiten Weblogic 10 genau das gleiche versuche bekomme ich "This RJVM has already been shutdown ..".

Sagt das jemanden etwas? Ohne Weblogic funktioniert es auch direkt danach einwandfrei, der Server ist also da und antwortet auch.

LG`s
Chris


----------



## quake1b (12. Mai 2009)

Hab jetzt auch das Log zur Hand:
SCHWERWIEGEND: NamingException
javax.naming.CommunicationException [Root exception is java.rmi.ConnectException: This RJVM has already been shutdown 3340360851732067678S:10.54.253.16:[27001,-1,-1,-1,-1,-1,-1]:Testserver:AdminServer]
        at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:64)
        at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:426)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:382)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)
        at de.chris.plugins.util.JMSQueueManager.sendMessage(JMSQueueManager.java:58)


----------



## quake1b (13. Mai 2009)

Hat das wirklich noch niemand gesehen?

Gibt es generell was besonderes zu beachten bei so einer Konstellation?

Grüße
Chris


----------



## FArt (15. Mai 2009)

quake1b hat gesagt.:


> Gibt es generell was besonderes zu beachten bei so einer Konstellation?


Klar.

Laufen die beiden Server in einen Cluster? Dann muss JMS ein HA-Singleton sein (geht anders auch wird aber nicht empfohlen) und fertig.

Laufen die beiden getrennt, dann muss der Lookup auf den Server natürlich mit einem passenden InitialContext passieren. Evtl. gibt es noch JAAS Einstellungen zu beachten.


----------



## quake1b (15. Mai 2009)

Hiho,

danke für die Antwort. Die Server laufen nicht in einem Cluster, sondern getrennt.
Den InitialContext baue ich entsprechend auf.


```
Properties env = new Properties( );
env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL,t3);
env.put(Context.SECURITY_PRINCIPAL,user);
env.put(Context.SECURITY_CREDENTIALS,password);
context = new InitialContext(env);
QueueConnectionFactory factory = (QueueConnectionFactory) context.lookup(cfname); <-Exception
```
usw.
Wenn ich das Log anschaue steht da auch der (interne) Weblogic Name des Servers, d.h. er kommt im Prinzip durch er antwortet auch, aber dann wenn ich den ersten lookup mache bekomme ich die Exception.

Hab´s auch schon ohne USER/PW versucht, also auch die Queue entsprechend für alle auf gemacht, und auch hier von der Console aus ja von innerhalb des BEA´s nein.


----------



## FArt (15. Mai 2009)

Was ist das für eine QueueConnectionFactory und wie ist diese konfiguriert?


----------

