草庐IT

message-listener

全部标签

java - Spring 与 JMS + ActiveMQ 集成 : Messages remain in JDBC Message Store after reconnect

我正在尝试使用SpringIntegration和ActiveMQ消息代理配置JMS。我的出站channel应该由JDBC消息存储支持,以防止数据丢失,例如经纪人或我的应用程序离线。到目前为止,我的配置似乎有效,但JDBC消息存储的行为并不像我预期的那样。如果我断开代理,发送到出站channel的消息将按预期保留,但在重新连接后它们保留在数据库中并且不会发送到队列。但是,我在重新连接后发送的更多消息到达队列,如果我重新启动我的应用程序,持久消息也会最终发送......application-context.xml-->context.xml我正在使用EcomxProducerGatew

java - RabbitMQ - Apache Camel Reading Messages 如何处理失败的消息

我有以下PHP应用程序。将用户注册发布到消息队列。Java应用程序从该队列中读取并导入它。希望下图能够描述它。我只处理Java方面的事情。json消息已经存在于队列中。路由(Java消费端)。@ComponentpublicclassSignUpRouting{errorHandler(deadLetterChannel("rabbitmq://signUpDeadLetter.exchange?username=etc..").useOriginalMessage());from("rabbitmq://phpSignUp.exchange?username=etc....").ro

java - 验证 Jpa 实体 : In service or by lifecycle listeners

问题是将Jpa实体的业务验证逻辑放在哪里更好(或者换句话说:您更喜欢在哪里)。两个想法是:在EntityListener中,在保存或更新之前将验证实体在提供对jpa持久化方法的访问的服务中。两者各有利弊。当使用方法2时,它更容易测试,因为您可以模拟jpa提供程序并测试验证逻辑。另一方面,对于方法1,验证将与@NotNull等验证同时发生。我很想知道你们如何解决项目中的验证问题,哪种方法更好。谢谢。 最佳答案 这是我遵循的一般经验法则:Whenusingbeanvalidation,specifyrulesthatdonotrequi

java - XA/JTA 事务 : JMS message arrives before DB changes are visible

上下文是:生产者(JTA事务PT)正在向JMS队列发送消息并进行数据库更新;consumer(JTAtransactionCT)在同一个队列上监听并在收到消息时读取DB;应用服务器-WebLogic,数据库-Oracle。我观察到,有时CT(还?)无法看到PT的数据库更改,如果已收到相应的JMS消息(PTpromise了吗?)。似乎JTA不能保证这种一致性(这在JurgenHoller的演讲“TransactionChoicesforPerformance”中也得到了证实)。避免此类问题的最佳方法是什么(明显的除外-不使用JTA)?谢谢。 最佳答案

java - RxJava : Observing messages emitted from a socket

我仍在努力学习RxJava。有一件事我现在无法理解。每一篇试图学习如何使用Rx的文章都向我展示了如何基于已经“可预测”的来源创建Observable,即一组项目的序列(单个值或例如简单的Iterable).大多数情况下,您会看到类似Observable.just()的内容Observableobserverable=Observable.just("Hello,world!");或者Observable.from():Observable.from("apple","orange","banana").subscribe(fruit->System.out.println(fruit)

java - 网络驱动程序异常 : unknown error: cannot determine loading status from timeout: Timed out receiving message from renderer: 60 using Selenium and Java

在我的Java项目中,我使用Selenium进行Web自动化。我正在使用chromedriverv2.20可执行文件。首先“ChromeDriverService”被初始化,用于创建ChromeDriver,如“newChromeDriver(service,capabilities);”。我还使用BrowserMobProxy来捕获所有Web请求。在我的测试中,我多次导航到某些URL,在每个导航驱动程序隐式等待几秒钟之后,然后轮询结果。但是在执行时它给了我超时异常。在我的研究中,我遇到了不适合我的解决方案:使用Thread.sleep而不是implicitlyWait替换新的Remo

java - JSTL fmt :message and resource bundle

我想根据语言环境从资源包中设置我的表的“dir”属性。这是片段:>当页面呈现时我得到这个:我有两个英语和阿拉伯语资源包。registration.direction=ltr->英语registration.direction=rtl->阿拉伯语请告诉我我做错了什么?根据语言环境,目录应该有“ltr”或“rtl”。谢谢BRSC 最佳答案 两件事1)我会添加一个变量来存储消息结果然后2)我将对您的代码执行以下操作现在就您的资源包而言,通常您的资源包应该具有以下结构/foo/bar/MyResourceBundle.properties/

java - Visual VM 中的 RMI TCP Accept、Attach Listener 和 Signal Dispatcher 是什么?

我正在使用VisualVM分析一个程序。我的程序运行了一段时间,最后使用XChart弹出了一些图。显示结果。图表显示后,我注意到VisualVM中有一些Activity线程“RMITCPAccept”、“AttachListener”和“SignalDispatcher”。这些线程是什么?我假设它们仅与VisualVM有关。我说的对吗?? 最佳答案 这篇文章粗略地回答了https://stackoverflow.com/a/7698906/573057如你所想;Attach、Signal和RMITCPAccept用于通过jConso

java - IllegalArgumentException : com. sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings

在我的网络应用程序中,我正在联系一个网络服务(使用JAX-WS),但我收到以下错误:java.lang.ExceptionInInitializerErroratcom.sun.xml.ws.message.AttachmentUnmarshallerImpl.(AttachmentUnmarshallerImpl.java:55)atcom.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:500)atcom.sun.xml.ws.client.sei.SyncMethodHa

java - Akka/Java : Handling multiple message types inside a custom actor?

要在Akka(Java绑定(bind))中实现您自己的自定义actor,您可以扩展UntypedActor基类。这需要您定义自己的onReceive(...)方法:@OverridepublicvoidonReceive(Objectmessage){//TODO}手头的问题是确定一种消息处理策略,使参与者能够处理多种类型的消息。一种策略是使用反射/类型。这里的问题是:它迫使我们创建空的“外壳类”,这些类只是为消息提供语义意义(见下文);和它占用了message参数并阻止我们传递任何动态或有意义的内容空壳类的例子:publicclassEmptyShellMessage{}然后在onR