我正在尝试将消息放入WebLogic服务器的JMS队列中。我的应用程序运行在Wildfly 8 AS中。我已经编写了JNDI查找的代码,然后将消息放入JMS队列。我使用以下代码初始化InitialContext:
private static InitialContext getInitialContext(String url) throws NamingException {
Hashtable<String, String> env = new Hashtable<>();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, url);
return new InitialContext(env);
}
我添加了以下Maven依赖项,用于添加WebLogic jar
<dependency>
<groupId>weblogic</groupId>
<artifactId>weblogic</artifactId>
<version>12.2.1</version>
</dependency>
<dependency>
<groupId>weblogic</groupId>
<artifactId>webservices</artifactId>
<version>12.2.1</version>
</dependency>
但是maven的依赖性并没有得到解决。我需要添加任何maven仓库吗?
如果还有什么需要的,谁能给我指点一下?
问候你,Anirban.
2条答案
按热度按时间bq3bfh9z1#
maven存储库中不提供客户端jar工件。您必须获取位于weblogic服务器的
WL_HOME\server\lib
目录中的wlthint3client.jar
。这个jar包含客户端调用weblogic服务器所需的所有类。然后,您可以在您的maven存储库中手动安装它,并将其用作
pom.xml
中的maven依赖项最后,您可以使用
weblogic.jndi.WLInitialContextFactory
工厂查找InitialContext
。9gm1akwq2#
检查的答案实际上是错误的,尽管在写作时它可能是正确的。
您可以在maven中执行与包含
weblogic.jar
(它只是一个带有一堆类路径条目的元inf)相同的操作,方法是包含:在你的maven POM中-当然,用你的
.m2
文件夹中的版本替换这个版本。(如果没有,就什么也不能用,您必须在weblogic文档中查找如何将weblogicmaven工件安装到您的weblogic版本的本地maven存储库中)这本质上是一个镜像
weblogic.jar
的依赖项列表它并不适用于所有情况,因为某些使用示例(通常需要使用wlManagementMBean.jar
的示例)需要使用硬编码的weblogic安装路径(为此,您必须直接将weblogic.jar添加到classpath)但是它应该可以用于使用WeblogicJNDI查找和JMS服务器API等的项目
请注意:第一次运行maven将花费几分钟时间,因为maven会自动尝试检查maven中心以获取工件更新,而不管本地安装如何