2016-04-20 7 views
0

Ich versuche, WebsphereMQ unter Verwendung JMS zu verbinden.JMS-Verbindung zu WebSphereMQ

Die folgende Konfiguration definiert:

properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); 
properties.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming"); 
properties.put(Context.PROVIDER_URL, "iiop://localhost:2809"); 
properties.put(Context.SECURITY_PRINCIPAL, "user") 
properties.put(Context.SECURITY_CREDENTIALS, "password") 

Die folgenden Abhängigkeiten sind in der Maven POM-Datei enthalten:

<dependency> 
    <groupId>com.ibm</groupId> 
    <artifactId>com.ibm.mqjms</artifactId> 
    <version>7.0.1.4</version> 
</dependency> 
<dependency> 
    <groupId>com.ibm</groupId> 
    <artifactId>com.ibm.mq.jmqi</artifactId> 
    <version>7.0.1.4</version> 
</dependency> 
<dependency> 
    <groupId>com.ibm</groupId> 
    <artifactId>com.ibm.dhbcore</artifactId> 
    <version>7.0</version> 
</dependency> 

<dependency> 
    <groupId>com.ibm.mq</groupId> 
    <artifactId>com.ibm.mq.jar</artifactId> 
    <version>7.0.1.4</version> 
    <scope>runtime</scope> 
</dependency> 

Beim Versuch, den Kontext (new InitialContext(properties)) zu instanziiert, wird die folgende Ausnahme ausgelöst wird :

javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory [Root exception is java.lang.ClassNotFoundException: com.ibm.websphere.naming.WsnInitialContextFactory] 
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674) 
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) 
    at javax.naming.InitialContext.init(InitialContext.java:242) 
    at javax.naming.InitialContext.<init>(InitialContext.java:216) 

Gibt es eine Maven Depe Abhängigkeit fehlt?

Dank

Antwort

1

nicht sicher, was die Maven Koordinaten sind, da ich nicht glaube, diese Bibliotheken in öffentlichen repos sind, so Koordinaten Repo-spezifisch sein, aber nach this post, benötigt die JAR-Dateien sind:

  • wssec.jar
  • naming.jar
  • namingclient.jar
  • lmproxy.jar
  • sas.jar
  • ecutils.jar
+0

Danke, aber dieser Posten ist zwölf Jahre alt. Kennt jemand die Mavenabhängigkeiten? – user1052610

0

Nicholas' Antwort ist richtig. (Verschieben aus dem Kommentar, um die Formatierung zu ermöglichen)

IBM verteilt ihre Gläser nicht in Maven-Repositorys. Jemand in Ihrer Organisation hat sie manuell implementiert (was allgemein üblich ist).

Sie entweder:

  1. weist nicht Ihre Maven settings.xml oder Projekt pom.xml Ihre Organisation intern Maven Repository

  2. Notwendigkeit, die MQ Gläser in das Repository manuell zu implementieren.

    mvn deploy: deploy-Datei -DgroupId = com.ibm.mq -DartifactId = mqjms -Dversion = 7.5.0.2 -dfile = mqjms.jar

See: https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html

+0

Danke, jedoch habe ich com.ibm.mqjms als Abhängigkeit hinzugefügt (siehe aktualisierte Frage), aber das mqjms jar enthält keine com.ibm.mq.jms.MQQueueConnectionFactory. – user1052610

+0

Sie brauchen eine Reihe von Gläsern, Nuss nur die mqjms.jar –

Verwandte Themen