Tag: jms

使用JMS或ThreadPool发送电子邮件

我想知道: 我有一个场景。 如果用户将产品添加到系统(我正在开发),则会有一个监听器向用户的客户端发送通知,通知用户添加的新产品。 我已经读过这个post了 (看到我之前从未使用过JMS和ThreadPool )我想知道是否应该使用JMS或ThreadPooling。 我正在使用Tomcat 5.5及更高版本和JBoss 5及更高版本(取决于公司的最后手段)来部署我的Web应用程序。 如果我使用JMS,我是否使用Apache ActiveMQ或JBoss Messaging ? 它们是否兼容在两个平台上运行(Tomcat和JBoss)? 提前致谢。

远程JMS队列的客户端

我在远程glassfish服务器上配置了JMS队列。 我正在尝试从本地计算机连接此队列。 是否可以直接连接到此服务器,或者我需要通过某个代理/代理连接? 它是如何工作的? (我在jms地区很新鲜)非常感谢

从JMS MessageListener发出回滚信号

我一直在使用JMS和ActiveMQ。 一切都在创造奇迹。 我不是用spring,也不是我。 接口javax.jms.MessageListener只有一个方法onMessage 。 在实现中,可能会抛出exception。 如果实际上抛出exception,那么我说消息没有正确处理,需要重新尝试。 所以,我需要ActiveMQ等待一段时间,然后重试。 即我需要抛出exception来回滚JMS事务。 我怎样才能完成这样的行为? 也许ActiveMQ中有一些我无法找到的配置。 或者……也许可以取消将MessageListener注册到消费者并自己使用消息,如下所示: while (true) { // … some administrative stuff like … session = connection.createSesstion(true, SESSION_TRANSACTED) try { Message m = receiver.receive(queue, 1000L); theMessageListener.onMessage(m); session.commit(); } catch (Exception e) { session.rollback(); Thread.sleep(someTimeDefinedSomewhereElse); } // … some more administrative stuff } 在几个线程中,而不是注册监听器。 或者……我可以以某种方式装饰/ AOP /字节操作MessageListener来自己做。 你会采取什么途径?为什么? […]

使用来自不同线程的JMS会话

从Session的javadoc中可以看出: Session对象是用于生成和使用消息的单线程上下文。 所以我理解你不应该同时使用来自两个不同线程的Session对象。 我不清楚的是,你是否可以从与其创建的不同的线程中使用Session对象(或者像Queue这样的子代)。 在我正在研究的情况下,我正在考虑将我的Session对象放入一个可用会话池中,任何线程都可以从它中借用,使用,并在完成后返回池中。 这是犹太人吗? (使用ActiveMQ BTW,如果这会影响答案。)

模拟或模拟消息队列(JMS)

有一条消息(文本),我确定知道哪种格式和内容。 目前,实现了Java中用于从文件中解析和读取此消息的类。 在现实世界中,此消息将来自Message Queue。 现在我应该在我的本地PC上模拟,模拟或生成Message Queue以进行测试。 Java规范( java jms ): JMS provider: A messaging system that implements the JMS specification. JMS clients: Java applications that send and receive messages. Messages: Objects that are used to communicate information between JMS clients. 关于这个规范,我需要JMS提供者 。 JMS客户端 – 这是我读取消息的类。 消息本身我知道。 那么问题是如何启动消息队列? 我如何从Java代码中以programmaticaly方式模拟它? 我能以某种方式嘲笑它吗? 谢谢。

如何在eclipse中包含javax.jms。*?

Iam尝试使用eclipse实现JMS。但是当我尝试保存代码时,它表明javax.jms.* cannot be resolved ,并且no suggestions也是如此。 我如何包含它并使用它? 当我用Google搜索时,我发现javax.jms。*不是java API的一部分,那么如何在eclipse中使用它并让我的程序成功运行? 我想implement JMS with the help of activemq我需要下载并包含在代码中吗? 作为这个JMS的新手,请建议一些可以使用activemq实现JMS的参考或示例代码。

ActiveMQ和嵌入式代理

编辑:改述问题: 我想使用ActiveMQ作为我的服务器和客户端应用程序之间的信使服务。 我试图在服务器中设置一个嵌入式代理(即不是一个单独的进程)来处理生成的消息供我的客户端使用。 此队列是持久的。 经纪人初始化如下: BrokerService broker = new BrokerService(); KahaPersistenceAdapter adaptor = new KahaPersistenceAdapter(); adaptor.setDirectory(new File(“activemq”)); broker.setPersistenceAdapter(adaptor); broker.setUseJmx(true); broker.addConnector(“tcp://localhost:61616”); broker.start(); 经过修修补补后,我最终得到的服务器部分是: public static class HelloWorldProducer implements Runnable { public void run() { try { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“tcp://localhost”); // apparently the vm part is all i need Connection connection = connectionFactory.createConnection(); connection.start(); Session […]

JMS会话的目的是什么?

JMS会话的目的是什么? 为什么单独的连接不足以在发送者和接收者之间交换JMS消息?

使用HornetQ在JBoss 7中使用JMS队列的’持久’属性是什么意思?

在使用HornetQ在JBoss 7上配置JMS队列期间(基于standalone-full.xml配置),我注意到一个属性’持久’。 我浏览了几个来源,其中许多人表示队列总是“持久”,这意味着即使在发送时潜在的接收器处于非活动状态,也会始终传递消息。 JBoss 7 HornetQ中的这个属性是指临时队列吗? 或者此属性是否指某种非临时非持久队列?

如何从HTTP基本身份validation中获取密码

我正在使用Java BASIC身份validation。 我的Servlet发送JMS消息但我需要提供用户和密码以在创建连接时对自己进行身份validation: javax.jms.ConnectionFactory.createConnection(String username, String password) 我可以从HttpServletRequest.getUserPrincipal()中检索用户名。 但似乎无法检索密码。 我该如何解决这个问题?