我试图在Wildfly(版本24)和远程ActiveMQ Artemis代理中实现简单的JMS生产者和消费者。
独立的。xml
<subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0">
<remote-connector name="remote-artemis" socket-binding="remote-artemis"/>
<pooled-connection-factory
name="remote-artemis"
entries="java:/jms/remoteCF"
connectors="remote-artemis"
client-id="producer-pooled-connection-factory"
user="${artemismq.user}"
password="${artemismq.password}"
enable-amq1-prefix="true"
/>
<external-jms-queue name="testQueue" entries="java:/queue/testQueue"/>
</subsystem>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}"/>
</outbound-socket-binding>
<outbound-socket-binding name="remote-artemis">
<remote-destination host="${artemismq.host}" port="${artemismq.port}"/>
</outbound-socket-binding>
</socket-binding-group>
生产者和消费者
@Inject
@JMSConnectionFactory("java:/jms/remoteCF")
private JMSContext context;
@Resource(lookup = "java:/queue/testQueue")
private Queue queue;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
try {
out.write("<p>Sending messages to <em>" + queue + "</em></p>");
out.write("<p>Using context <em>" + context + "</em></p>");
out.write("<h2>The following messages will be sent to the destination:</h2>");
for (int i = 0; i < MSG_COUNT; i++) {
String text = "This is message " + (i + 1);
context.createProducer().send(queue, text);
out.write("Message (" + i + "): " + text + "</br>");
JMSConsumer consumer = context.createConsumer(queue);
TextMessage message = (TextMessage) consumer.receive();
out.write("Message received (" + i + "): " + message.getText() + "</br>");
}
} catch (JMSException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.close();
}
}
}
Misc:只有制片人才能工作。
结果:代理收到第一条消息,但没有执行消费,也没有发生任何事情(没有日志)。
我们最近将一些数据移植到MongoDB,现在正在考虑运行日常备份,最好是从cron作业,并将其中一个备份恢复到辅助mongo数据库。 我们的系统设置如下: 服务器1:开发mongo数据库 服务器2:两个mongo数据库,一个用于暂存数据,一个用于生产 服务器3:是我们运行所有cron作业/批处理脚本的地方 (我尝试了将用户名和密码连接到主机,但没有将用户名和密码连接到主机) 我收到以下信息: Mo
我正在用ApacheKafka版本(2.1.0)开发一个流式API。我有一个Kafka群集和一个外部服务器。外部服务器将生成要在Kafka群集上使用的数据。 让我们将外部服务器表示为E,将集群表示为C。E没有安装Kafka。我在上面运行一个JAR文件来生成消息。以下是Producer属性的代码段: 我将bootstrapIp设置为Kafka代理IP。 在集群端,我使用以下命令启动使用者控制台: 我
我已经在我的一台机器上创建了一个Kafka主题,它的IP为192.168.25.50,主题名为test-poc。然后,通过使用kafka-console-producer,我生成了如下所示的消息 之后,我在另一台机器上下载了Kafka,并尝试使用以下命令消费 其中192.168.25.50是Kafka producer运行的服务器的IP。 因此,在执行上述命令后,我得到以下错误。 注意:当我在同一
我有以下Artifactory(6.12.1)设置 远程存储库: 中央:https://repo.maven.apache.org/maven2 JBoss:https://repository.jboss.org/nexus/content/groups/public/ JCenter https://jcenter.bintray.com jvnet-nexus-staging:http://
当我在主机服务器的浏览器上运行这个应用程序时,我成功地获得了一个json对象(它不是我期望的json,但这是另一个问题)。但是,当我试图访问远程客户端上的站点时,我会得到一个403错误,指向我试图检索响应时的位置。有什么想法吗?
为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。 在本节中,我们将介绍一部分远程管理的技能。 查看