我正在学习如何使用ActiveMQ,现在我们面临以下问题.
假设我在ActiveMQ上有一个名为topic.test的主题,该主题有两个订阅者.在给定的时刻,我只有其中一个订阅者等待消息,并且生产者发送上面提到的主题的消息.
好的,连接的用户收到消息,但是其他用户在连接时不应该收到该消息?好吧,就我而言,它没有发生:我的订阅者只在连接时收到消息.在他们没有连接时发送的所有其他消息都没有被他们接收.我能做错什么?
这是我为测试ActiveMQ而编写的一些源代码.也许你可以找到它的错误.
我的完整代码:
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
connection.setClientID("leitorTeste");
conexao.start();
Session sessao = conexao.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic fonte = sessao.createTopic("topic.test");
MessageConsumer consumer = sessao.createConsumer(fonte);
javax.jms.Message presente = null;
while ((presente = consumer.receive()) != null) {
System.out.println(((TextMessage) presente).getText());
}
consumer.setMessageListener(new LeitorMensagens());
conexao.close();
Run Code Online (Sandbox Code Playgroud)
这是我的生产者代码:
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
Session sessao = conexao.createSession(true, Session.AUTO_ACKNOWLEDGE);
connection.start();
Destination destino = sessao.createTopic("topic.test");
MessageProducer produtorMensagem = sessao.createProducer(destino);
produtorMensagem.setDeliveryMode(DeliveryMode.PERSISTENT);
TextMessage message = sessao.createTextMessage("Hi!");
produtorMensagem.send(message);
sessao.commit();
connection.close();
Run Code Online (Sandbox Code Playgroud)
是否有任何其他配置我应该添加到ActiveMQ,以便我的消费者可以收到旧消息?
从以下模拟
int[] amountWithdrawal = { 10, 20, 30, 140, 50, 70 };
amountWithdrawal.Aggregate(100, (balance, withdrawal) =>
{
Console.WriteLine("balance :{0},Withdrawal:{1}", balance, withdrawal);
if (balance >= withdrawal)
{
return balance - withdrawal;
}
else return balance;
}
);
Run Code Online (Sandbox Code Playgroud)
我想终止聚合when the balance is less than the withdrawal.但我的代码遍历整个数组.如何终止它?
高级开发人员(以及在我们公司中唯一经历过Django的人)已离开并离开了我们.在此之后不久(按照他的指示)我们将一个站点推送到共享服务器(我们完全控制服务器)并将Django的版本更新到最新版本以使新站点工作.
从那以后,我们遇到了使用旧版本构建的另一个Django项目的问题.
我遇到的主要问题是我们有一个crontab,它向客户端发送一封电子邮件,概述了他们的订单.我抓住了屏幕上的错误,但是如果我说实话,我很难理解它.这些名字已经改变,以保护无辜(客户).
http://i-am-a-fish.co.uk/help.png
我再次上传了一个屏幕抓取i-am-a-fish.co.uk/help2.png
所有建议都非常欢迎!
我需要在哈希中获取某个键的所有值.哈希看起来像这样:
$bean = {
Key1 => {
Key4 => 4,
Key5 => 9,
Key6 => 10,
},
Key2 => {
Key7 => 5,
Key8 => 9,
},
};
Run Code Online (Sandbox Code Playgroud)
我只需要值Key4,Key5并Key6为例子.其余的不是兴趣点.我怎么能得到价值观?
更新:所以我没有%bean我只是添加这样的值$bean:
$bean->{'Key1'}->{'Key4'} = $value;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
阅读ActiveMQ文档(我们使用的是5.3版本),我找到了一个关于在ActiveMQ中使用JDBC持久性适配器的可能性的部分.
有什么好处?它是否提供了性能或可靠性的任何增益?我应该什么时候使用它?
我试图在iPhone上的Objective-C中将a转换unsigned char*为int *on.有没有可以帮助转换的API?
这是我最好的尝试:
-(BOOL)MyFunc:Version:(int *)nVer
{
unsigned char * uszVerSize;
//trying to assign string to int
nVer = uszVerSize[0] ;
}
Run Code Online (Sandbox Code Playgroud) 我有两个表,products并且categories有很多关系,所以我添加了一个products_categories包含category_id和的表product_id.
我应该添加另一个(自动递增)索引列还是使用两个现有索引列作为主键?
例如,prxml函数将XML打印到*out*.我想将此输出捕获为String.以下是REPL的典型用法:
user> (prxml [:p "Test"])
<p>Test</p>nil
Run Code Online (Sandbox Code Playgroud)
我反而喜欢这样做:
(def xml (capture-out (prxml [:p "Test"])))
Run Code Online (Sandbox Code Playgroud)
我编写了捕获功能,但我怀疑它存在,只有我在API或邮件列表中找不到它.
我正在尝试分析我们的应用程序的GC行为(在Tomcat中运行,在Sun的Hotspots下,JVM 1.6).
到目前为止,我已经指示JVM使用...将GC日志发送到单独的文件
-Xloggc:gc.log
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGC
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
Run Code Online (Sandbox Code Playgroud)
...并使用jstat输出日志...
jstat -gc -t 29045 5s > jstat.gc
Run Code Online (Sandbox Code Playgroud)
我看到有趣的信息,但没有找到一个工具来帮助我分析/可视化这些日志.我通过这个问题指向了GCViewer ,但它只从gc.log中解析了一些日志行,然后崩溃并出现异常.对于我正在使用的特定JVM,是否有更好或更新的解析这些特定日志的工具?