我将很感激关于两个消息系统中的哪一个的一般指示和意见
我正在使用amq.js(ActiveMQ)和谷歌地图.我按此顺序加载脚本
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>AMQ & Maps Demo</title>
<!-- Stylesheet -->
<link rel="stylesheet" type="text/css" href="style.css"></link>
<!-- Google APIs -->
<script type="text/javascript" src="http://www.google.com/jsapi?key=abcdefg"></script>
<!-- Active MQ -->
<script type="text/javascript" src="amq/amq.js"></script>
<script type="text/javascript">amq.uri='amq';</script>
<!-- Application -->
<script type="text/javascript" src="application.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)
但是在我的application.js中它加载了地图很好但是在尝试使用AMQ订阅主题时出现错误.AMQ依赖于Firefox中错误控制台所说的对象未定义的原型.我认为在脚本加载完成之前使用amq对象时遇到问题.有没有办法确保在我的application.js中使用它们之前加载两个脚本?
Google有这个很棒的函数调用google.setOnLoadCallback(initialize);,效果很好.我不确定amq.js有这样的东西.
当我升级到activemq-all-5.6.0时
我在服务器启动时遇到此错误
SLF4J:类路径包含多个SLF4J绑定
使用activemq-all-5.5.1时我没有这个问题
在检查时,我发现在activemq-all-5.6.0.jar和slf4j-log4j12-1.5.10.jar中都存在StaticLoggerBinder.class,这导致了问题
请帮忙调试此问题
我的pom.xml如下
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.10</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.5.10</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.10</version>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
活动的mq依赖是这样的
旧版本5.5.1(此作品)
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.5.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
新版本5.6.0(这给出了错误)
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.6.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我有春季罐子,spring-3.2.0.RC1.jar并尝试Apache ActiveMQ helloWorld从这里给出的教程实现程序.xml配置文件是:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:jms="http://www.springframework.org/schema/jms"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/jms
http://www.springframework.org/schema/jms/spring-jms.xsd">
<bean class="org.apache.activemq.command.ActiveMQQueue" id="destination">
<constructor-arg value="TEST.Q1"></constructor-arg>
</bean>
<bean class="org.apache.activemq.ActiveMQConnectionFactory" id="connectionFactory"
p:brokerurl="tcp://localhost:8161"></bean>
<bean class="com.jms.helloworld.listner.MessageListenerImpl" id="simpleMessageListener">
<bean
class="org.springframework.jms.listener.DefaultMessageListenerContainer"
id="jmsContainer">
<property name="connectionFactory" ref="connectionFactory"></property>
<property name="destination" ref="destination"></property>
<property name="messageListener" ref="simpleMessageListener"></property>
</bean>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
主要:
public static void main(String[] args) throws JMSException {
System.out.println("LISTNER STARTED");
ApplicationContext context = new FileSystemXmlApplicationContext("src/com/jms/helloworld/config/JMSConfig.xml");
}
**Exception on console**
LISTNER STARTED
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment). …Run Code Online (Sandbox Code Playgroud) 我正在浏览一个开源消息传递软件,经过一些研究,我发现了这三个产品.我已经把这些用于初步测试,让他们处理队列和主题的消息,从我所读到的,所有这三个产品都是大多数公司的开源消息解决方案的好选择.我想知道这些产品可能具有哪些优势?我特别感兴趣的是消息吞吐量,包括持久消息吞吐量,安全性,可伸缩性,可靠性,支持,路由功能,度量和监视等管理选项,以及每个程序在大型业务环境中运行的程度.
我创建了一个基于spring,jms和activemq的简单的生产者消费者模拟,我试图从双方,生产者和消费者那里获得高性能,
连接设置:
<tx:annotation-driven />
<bean id="transactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
<amq:connectionFactory id="amqConnectionFactory" brokerURL="failover:(tcp://${broker.url}:61616)" />
<bean id="connectionFactory"
class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="amqConnectionFactory" />
</bean>
<amq:queue id="queue" physicalName="queue" />
<beans:bean id="jsonMessageConverter" class="XXXXX.converter.JsonMessageConverter" />
Run Code Online (Sandbox Code Playgroud)
消费者设置:
<jms:listener-container concurrency="10"
acknowledge="auto" prefetch="1" message-converter="jsonMessageConverter" transaction-manager="transactionManager"
>
<jms:listener id="queueListener_1" destination="ooIntegrationQueue"
ref="myMessageListenerAdapter" />
</jms:listener-container>
<beans:bean id="myMessageListenerAdapter"
class="org.springframework.jms.listener.adapter.MessageListenerAdapter" >
<beans:property name="delegate" ref="consumer"/>
</beans:bean>
<beans:bean id="consumer" class="XXX.ConsumerImpl"/>
Run Code Online (Sandbox Code Playgroud)
制片人设置:
<beans:bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"
p:connectionFactory-ref="connectionFactory" p:messageConverter-ref="jsonMessageConverter"
p:defaultDestination-ref="ooIntegrationQueue" p:sessionTransacted="true" />
Run Code Online (Sandbox Code Playgroud)
从消费者开始,我设法每秒消耗大约25条消息,这是非常慢的,我发现瓶颈是我正在使用交易,谷歌搜索后,玩配置,我发现自动装配DefaultMessageListenerContainer并将cachelevel更改为
listenerContainer.setCacheLevelName("CACHE_SESSION")
Run Code Online (Sandbox Code Playgroud)
我的性能增加到每秒约1500条消息,同时仍然有交易.
我的问题是现在生产者仍然停留在每秒约25次操作,我的生产者测试很简单:
int numOfMessages = getNumberOfMessages();
double startTime = System.currentTimeMillis();
for (int …Run Code Online (Sandbox Code Playgroud) 虽然redis和消息排队软件通常用于不同的目的,但我想问一下使用redis的优缺点以下用例:
你知道redis选择传统消息排队软件的用例吗?或者你会考虑别的吗?
注意:我也看过这个但没有帮助: 实时应用新手 - Node.JS + Redis或RabbitMQ - >客户端/服务器怎么样?
谢谢
我有一个web-app,当用户提交请求时,我们将JMS消息发送到远程服务,然后等待回复.(还有异步请求,我们为消息重放设置了各种各样的细节,所以我们更喜欢坚持使用JMS而不是HTTP)
在如何使用JMS实现请求响应?,ActiveMQ似乎不鼓励每个请求的临时队列或JMSCorrelationID上带有选择器的临时使用者的想法,因为旋转它们所涉及的开销.
但是,如果我使用池化消费者进行回复,我如何从回复消费者发送回原始请求线程?
我当然可以编写自己的线程安全回调 - 注册/调度,但我讨厌编写我怀疑已经由比我知道的更好的人编写的代码.
那个ActiveMQ页面推荐自2006年以来一直没有更新过的Lingo和Camel Spring Remoting,我的团队已经因为它的许多漏洞而被hellbanned.
是否有更好的解决方案,以实现此模式的库的形式,或以不同模式的形式模拟JMS上的同步请求 - 回复?
相关问题:
在Active MQ管理控制台中,"待处理消息数"和"已排队消息"之间有什么区别?将消息放入队列时,这些值是否应该匹配?
activemq-classic ×10
java ×5
jms ×5
spring ×3
hornetq ×2
google-maps ×1
javascript ×1
jboss ×1
maven ×1
messages ×1
middleware ×1
performance ×1
qpid ×1
rabbitmq ×1
redis ×1
slf4j ×1
spring-jms ×1
tomcat ×1