Tag: jms

子spring对象和它的超级java.util对象之间的显式类型转换

在spring我使用的是jdbcTemplate,但是在查询List时遇到了返回Linkedcaseinsensitivemap的问题,在执行以下操作时我仍然得到spring linkedcaseinsensitivemap,即使我将它转换为java util List并定义左侧作为java.util.List的赋值。 首先,这怎么可能? final java.util.List<Map> list = (java.util.List<Map>) jdbc .queryForList(“SELECT * FROM customer”); 那么,如何实现这种类型的升级呢? 无需声明第二个列表为它分配内存,然后手动将对象放入java.util.List? 由于LinkedCaseInsensitive是java对象的子类,因此我很难弄清楚如何转换为超级对象,即java List。 如何实现这一目标至关重要。 因为目前还没有办法知道哪些经纪人会使用我们的AMQ,目标是严格保持jms对象,所以我无法开始发送弹簧对象,因为jms应该是我们的标准,也请注意我没有实现AMQProtocol的选项,我需要发送基本的java对象, 由于已建议序列化为JSON,我将解释为什么它在这种情况下不起作用,为什么我需要将“按原样”发送给接收器,因为它们将把它放入Notes文档中。 for (int i = 1; i <= metadata.getColumnCount(); i++) { String columnName = metadata.getColumnName(i); Object values = sqlConnection.getRset().getObject(i); doc.replaceItemValue(columnName, values); } 那么,人们如何才能更好地完成这项工作呢? 请提前帮助谢谢!

java.lang.UnsatisfiedLinkError中

我正在尝试使用JMS访问MQ队列。 我得到了以下内容 java.lang.UnsatisfiedLinkError: no mqjbnd05 in java.library.path 我过世了 -Djava.library.path=”C:\Program Files\IBM\WebSphere MQ\java\lib” 作为在eclipse中运行程序时的VM参数。 这个问题在网上讨论得很多,但没有任何结论。 有人解决过这个吗? TIA。

需要澄清JMS与ActiveMQ bean /资源配置

在如何使用JMS资源以及在@MessageDriven注释上使用适当的@ActivationConfigProperty设置activationConfig似乎存在一些不一致。 首先,这是我的资源配置( glassfish-resources.xml ,但可以翻译成其他部署描述符)。 这适用于Glassfish( asadmin add-resources glassfish-resources.xml )以及ActiveMQ资源适配器 : MyApp JMS Queue MyApp Connection Factory 这是我的消息提供者bean。 您会注意到找到了JNDI名称并且使用了ActiveMQ资源而没有错误,消息被发送到正确的队列: @Stateless @LocalBean public class ServicesHandlerBean { @Resource(mappedName = “jms/queue/myApp”) private Queue queue; @Resource(mappedName = “jms/factory/myApp”) private ConnectionFactory factory; public void sendJMSMessage(MessageConfig messageData) throws JMSException { Connection connection = null; Session session = null; try { connection = […]

JMS消息侦听器的执行失败,并且未设置ErrorHandler

当我使用Spring收听JMS消息时,我收到了上述错误。 我想知道如何将Errorhandler添加到JMS侦听器中?

单对multithreadingJMS生成器

我想看看使用multithreading生成器而不是单线程生成器会产生多大的时间差。 我在我的本地机器上设置了一个ActiveMQ,编写了一个生成器类,它将在其构造函数中初始化并启动JMS连接。 我将消息限制设置为3M,将所有消息推送到ActiveMQ大约需要50秒。 我发了一次3M字符串“hello world”。 然后我使用相同的生成器对象(一个连接但多个会话)并使用线程大小为8的ExecutorService运行它。 在run方法中,我将3M除以8只是为了确保每个线程发送不超过375000条消息。 在这种情况下,推送所有消息大约需要60秒。 ExecutorService service = Executors.newFixedThreadPool(8); for (int i = 0; i < 8; i++) { service.execute(producer); } 然后我创建了8个生成器,每个生成器都有自己的连接,并使用ExecutorService或8号线程运行它们。 这次推送所有3M消息花了大约68秒。 for (int i = 0; i < 8; i++) { service.execute(new Producer()); } 我想知道,为什么单线程生产商会在这里表现更好? 我将每个场景运行了大约10次,但结果保持不变。

如何在JBoss EAP 7中配置JMS?

我已经厌倦了搜索谷歌并得到这样的。 这些链接是指jboss eap 6。 1.如何在jboss eap 7中配置JMS? 2. Jboss eap 7有没有内置的JMS? 或需要手动配置? 3.使用Jboss eap 7的应用程序?

如何找出JMS Connection是否存在?

在JMS中,很容易发现连接是否丢失,发生exception。 但是我怎么知道连接是否再次存在? 场景:我使用JMS与我的服务器通信。 现在我的连接断开(服务器关闭),这导致exception。 到现在为止还挺好。 如果服务器再次启动并重新建立连接,我该如何知道? 我没有看到任何能够提供此类信息的听众。

高性能JMS消息传递

我阅读了今年UberConf的幻灯片,其中一位发言人提出Spring JMS为您的消息队列系统增加了性能开销的论点,但我没有看到任何证据支持幻灯片。 发言者还说明点对点比传统的“发布 – 订阅”方法更快,因为每个消息只发送一次而不是广播给每个消费者。 我想知道是否有经验丰富的Java消息传递专家可以在这里权衡并澄清一些技术细节: 使用Spring JMS而不仅仅是纯JMS实际上是否会产生性能开销? 如果是这样,它是如何以及在何处引入的? 它有什么办法吗? 有什么实际证据支持P2P比pub-sub模型更快,如果是这样的话,是否有任何情况下你想要通过P2P发布sub-sub(即为什么变慢?!? )?

如何处理JMS中的消息顺序?

我正在审查用Java编写的客户端 – 服务器应用程序。 服务器接收JMS消息并处理它们,但消息可能以意外的顺序出现,并且取消可以在订单消息之前到达。 你是如何处理这种情况的? 你在mdb中做到了吗? 这种情况有哪些策略或模式?

将JMS侦听器重新连接到JBossMQ

我们有一个Java监听器,它从JBossMQ中的队列中读取文本消息。 如果我们必须重新启动JBoss,监听器将不会重新连接并再次开始读取消息。 我们每隔2分钟就会在侦听器的日志文件中收到消息,说它无法连接。 我们的代码或JBossMQ中是否有设置? 我是JMS的新手,所以任何帮助都将不胜感激。 谢谢。