- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在本地安装了 openMQ,它运行良好。我使用以下代码通过 JNDI 查找获取 QueueConnectionFactory
。
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL, "file:///C:/objectstore");
Context ctx = new InitialContext(env);
QueueConnectionFactory myFactory = (QueueConnectionFactory) ctx.lookup("MyQueueConnection");
上面的代码返回了连接工厂,我也可以从那里访问 replyQueue
和 requestQueue
。
这是我设置队列的方式
imqobjmgr add -l "MyQueueConnection"" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContext
Factory" -j "java.naming.provider.url=file:///C://objectstore" -t qf -o "imqAddressList=mq://localhost:7676/jms"
imqobjmgr add -l "cn=DEVL.REQUEST" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSCon
textFactory" -j "java.naming.provider.url=file:///C://objectstore" -t q -o "imqDestinationName=requestQueue"
imqobjmgr add -l "cn=DEVL.REPLY" -j "java.naming.factory.initial=com.sun.jndi.fscontext.RefFSConte
xtFactory" -j "java.naming.provider.url=file:///C://objectstore" -t q -o "imqDestinationName=replyQueue"
我的问题是:
如何在 Linux 上设置 openMQ服务器,以便我可以访问 openMQ来自不同的服务器代码将在 tomcat 中运行apache 服务器(也是一个 linux box)。
我必须做出哪些改变获取
的代码QueueConnectionFactory
来自 openMQ
坐在不同的服务器上?
我没有在 GlassFish 中运行 openMQ,而是在其自身 (imqbrokerd.exe) 上运行 openMQ。
最佳答案
在我所有的挖掘中,我没有发现任何迹象表明 OpenMQ 在单独使用时提供 JNDI 提供程序。它看起来像是 GlassFish 提供的。这意味着您需要使用 LDAP 之类的东西作为对象存储,我还没有这样做。
目前,我通过将 .binding 文件(在您的情况下位于 c:\objectstore 中的文件)复制到 JMeter 可以看到的文件系统来“作弊”,以便我可以引用它。只要您使用实际的机器名称或 IP,而不是 localhost 就可以,但显然不会将其用于生产。
在 Java 方面,您可以完全放弃 JNDI,直接实例化 com.sun.messaging.ConnectionFactory
。我使用 Spring 来注入(inject)连接工厂。请注意,我必须包括我自己的一个非常简单的 OpenMQConnectionFactoryFactory(从 https://wikis.oracle.com/display/GlassFish/OpenMQSpringConnectionConsumer 中窃取),因为 com.sun.messaging.ConnectionFactory 不是一个 bean。
<bean id="connectionfactoryfactory"
class="myownlibrary.messaging.factory.OpenMQConnectionFactoryFactory">
<property name="properties">
<props>
<prop key="imqAddressList">qa29-vm:7676</prop>
<prop key="imqAddressList">qa30-vm:7676</prop>
<prop key="imqReconnectAttempts">-1</prop>
</props>
</property>
</bean>
<bean id="connectionfactory"
factory-bean="connectionfactoryfactory"
factory-method="constructConnectionFactory"/>
<bean id="jmsFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="connectionfactory" />
</bean>
关于java - 远程访问 OpenMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171457/
我在本地安装了 openMQ,它运行良好。我使用以下代码通过 JNDI 查找获取 QueueConnectionFactory。 Hashtable env = new Hashtable(); en
我想使用 GlassFish 中的 OpenMQ 进行日志记录。我认为我的组件可以将消息放入此队列中,如果只有一个 mdb 从中使用,我应该能够按照它们排队的顺序接收所有消息。这会起作用以及如何起作用
我可以通过使用 JMX 调用 GET_DESTINATIONS 操作来查询队列。这样我将收到队列信息(属性)。我现在想查询存储在该队列中的消息,可以吗?有人可以给我一些指导吗? 我已经尝试过使用此代码
请帮助 MQ nubee 编写他的第一个 Java 客户端,我在 Oracle 文档中有点迷失了。我已经启动并运行了 OpenMQ。在 OpenMQ 管理控制台中,我建立了一个名为“MyFirstTe
我正在尝试从一个 swing 重型客户端(使用 Apache ActiveMQ 库)发送文本消息到一个似乎使用 OpenMQ 作为默认 JMS 提供程序的 glassfish 服务器实例。 在我为我的
我是一名优秀的程序员,十分优秀!