草庐IT

olio_msg_send_test_messages

全部标签

java - ActiveMQ : dead letter queue keeps my messages order

我使用ActiveMQ作为代理来传递消息。这些消息旨在写入数据库中。有时,数据库无法访问或已关闭。在这种情况下,我想回滚我的消息以便稍后重试此消息,并且我想继续阅读其他消息。这段代码工作正常,除了一点:回滚消息阻止我阅读其他代码:privateConnectiongetConnection()throwsJMSException{RedeliveryPolicyredeliveryPolicy=newRedeliveryPolicy();redeliveryPolicy.setMaximumRedeliveries(3);//willretry3timestodequeuerollba

java - '严重 : SAAJ0009: Message send failed error' while sending a message

Feb8,201111:56:49AMcom.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionpostSEVERE:SAAJ0009:Messagesendfailedcom.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:java.security.PrivilegedActionException:com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl:Messagesendfailedatcom.sun.

Java 错误 : "incompatible types" message

我在编译期间遇到Java错误:UserID.java:36:error:incompatibletypes+generator.nextInt(10);^required:Stringfound:intJava代码如下:publicclassUserID{privateStringfirstName;privateStringuserId;privateStringpassword;publicUserID(Stringfirst){Randomgenerator=newRandom();userId=first.substring(0,3)++generator.nextInt(1)

java - 测试调用 : how to do set up common to all test suites

有没有办法知道JUnit4测试类是否由测试套件启动?我有全局的东西,我想在所有测试之前运行(关于内存数据库),所以我想在测试服中做它。但是,我仍然希望能够在没有测试服的情况下一次启动一个测试,所以我需要知道我是否需要在测试的@Before部分初始化全局事物......有人知道吗如果它是可能的? 最佳答案 有几种方法可以实现这一点。最简单和最简单的方法是在套件的开始和结束时运行一个“测试”,它会设置您的数据库,然后设置一个全局标志。在您的@Before和@After测试中,您检查此标志,并在必要时进行设置/拆卸。@RunWith(Su

java - 亚马逊 SQS : The same message is consumed by two current consumers

我有四个当前消费者在AmazonAWS上收听同一个队列。从队列中拉取消息时,有时会出现同一条消息被两个不同的消费者消费的情况。请看下面的日志:18:01:46,515[jmsContainer-2]DEBUG-从队列中收到消息:ID:3698a927-930b-4d6a-aeca-f6692252879218:02:12,825[jmsContainer-3]DEBUG-从队列中收到消息:ID:3698a927-930b-4d6a-aeca-f66922528792我有一个包含4个并发使用者的JMS容器设置。我将可见性超时设置为30秒。既然container2收到了消息,怎么conta

java - API 网关自定义授权方 : Control error message and code

我的网关API有一个自定义授权方。我读过很多关于如何自定义在身份验证或授权错误时返回给最终用户的错误消息和代码的文章。Thisoneseemedthemostuseful.问题是API网关的行为与记录不符。我的自定义授权器实现(python):deflambda_handler(event,context):raiseException('theskyisfalling!')当我使用curl调用API时:kash@Laptop$date;curl-i-XGET-H"Authorization:Bearer1234abcd`date+%s`"https://xxxx.execute-ap

java - 无法在 Spring Boot Test 1.5 中设置运行时本地服务器端口

我正在为我的应用程序使用SpringBoot1.5。在集成测试中,我想获取Web服务器的运行时端口号(注意:TestRestTemplate在我的情况下没有用。)。我尝试了几种方法,但似乎都不起作用。以下是我的方法。第一种方法@SpringBootTest(classes=TestConfig.class,webEnvironment=WebEnvironment.DEFINED_PORT)publicclassRestServiceTest{@LocalServerPortprotectedintport;在我的src/main/resources/config/applicatio

java - 使用 maven : run jar before tests and terminate after 进行集成测试

我有一个可运行的jar,我想在我的集成测试开始之前(在pre-integration-test上)在一个新进程中运行它,并在我的集成测试完成后让它终止(在集成后测试).我可以使用的东西之一是maven-antrun-plugin或exec-maven-plugin在pre-integration-test上启动新进程,但如何终止它?对于我想要实现的目标,也许有更好的解决方案?PS:我在Windows和Linux上构建我的项目,所以可移植性对我来说很重要。 最佳答案 您可以使用maven-process-plugin由BV开源以分别启

java - JUnit + Derby + Spring : drop in-memory db after every test

在我的单元测试中,我Autowiring了一些使用URL的数据源jdbc:derby:memory:mydb;create=true创建内存数据库。要删除内存中的Derby数据库,您必须连接:jdbc:derby:memory:mydb;drop=true我希望在每次测试后都发生这种情况,并从一个新的数据库开始。我如何使用Spring执行此操作? 最佳答案 HowtoshutdownDerbyin-memorydatabaseProperly给了我一个解决方案的提示:mydb.drop.url=jdbc:derby:memory:m

java - 在 gradle 的 eclipse 构建中拆分 main 和 test

今天我尝试将一个带有集成测试的项目从maven切换到gradle。一切正常,除了我在testng上遇到严重问题。该项目使用hibernate/JPA2进行数据库访问,并有几个依赖于test/resources/META-INF/persistence.xml中的持久性单元的测试。当我使用gradle运行测试套件时,一切正常。但是当我从eclipse运行xml(或任何测试类本身)时,它似乎试图使用main/resources/META-INF/persistence.xml。因为我的大部分工作都使用TDD,所以我确实需要从eclipse运行/调试测试。当我将持久性单元添加到生产persi