我有测试jms消息发送的Junit测试.我使用Spring jmsTemplate来做到这一点.在这里,我在下面的代码中,我想检查JMS模板是否已调用发送消息,无论它传递的actuall参数的值是什么.
我的发布者方法使用jmsTemplate发送方法看起来像跟在里面..
jmsTemplate.send(jmsQueueProperties.getProperty(key), new MessageCreator()
{
public Message createMessage(Session session) throws JMSException
{
ObjectMessage obj = session.createObjectMessage(dialogueServiceResponse);
return obj;
}
});
Run Code Online (Sandbox Code Playgroud)
在我的测试..
JmsTemplate mockTemplate = Mockito.mock(JmsTemplate.class);
...
publisher.publishServiceMessage(response);
....
Mockito.verify(mockTemplate,
Mockito.times(1)).send("appointment.queue",
Mockito.any(MessageCreator.class));
Run Code Online (Sandbox Code Playgroud)
但是当我执行时,我得到了
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:参数匹配器的使用无效!....
原因是由于Mockito.any(MessageCreator.class),但是没有办法测试我的send方法是在没有在MessageCreator中创建实际对象的情况下执行的.
更新 有没有办法检查我的session.createObjectMessage(dialogueServiceResponse)也被调用
我有一类线程安全的公共代码.
该类中的一个方法是抽象的,需要为不同的实现重写.
我需要确保或至少向其他开发人员标记此方法的所有实现都需要是线程安全的.
做这个的最好方式是什么?
这个效果有关键字或注释吗?
我已经尝试过,abstract synchronized但不允许使用关键字组合.
我感到困惑,因为异步编程是一种异步执行代码块的方法,它调用方法而不等待结果.同样,并行编程是一种同时执行多个任务的方法,但所有这些任务都是异步执行的.所以想知道/混淆c#中这两种编程范式之间的关系是什么.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
Run Code Online (Sandbox Code Playgroud)
引用文件包含错误(http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd).有关更多信息,请右键单击"问题视图"中的消息,然后选择"显示详细信息..."
通过文件"web.xml"验证文件"web-app_2_5.xsd"时检测到以下错误.在大多数情况下,可以通过直接验证"web-app_2_5.xsd"来检测这些错误.但是,只有在web.xml的上下文中验证web-app_2_5.xsd时才会出现错误.
在细节上,我看到了一堆这些:
s4s-elt-character:除xs:appinfo和xs:documentation之外的架构元素中不允许使用非空白字符.看到'var _U ="undefined";'
我正在使用
以下声明
jdbcTemplate.query("SELECT * FROM TABLE1 ORDER BY ? ?", colName, sortOrder);
Run Code Online (Sandbox Code Playgroud)当然这不起作用,因为变量绑定不应该仅为查询中的表达式的参数值指定列名.
那么......人们如何解决这个问题呢?只是在Java代码中进行排序似乎是一个简单的解决方案,但是因为我得到一个用于排序的列的变量字符串,并且一个变量告诉我排序顺序....这是一个丑陋的比较器条件数量到覆盖.这似乎应该是解决它的常见模式的常见问题......
我在DAO层有一个返回值的方法,我想用spring AOP改变返回值,根据不同的要求,然后发送到SERVICE层的相应方法; 但我不知道该怎么做.
我已经读过,Java版本小于7,Joda Time对象比Java的内置函数更可靠.一个引用的原因是Joda对象是不可变的.为什么这有益?如果我想更改Joda DateTime对象的年,小时和时区,我需要制作三份副本!
我正在尝试选择2列之间的值.这是我的数据集
id from to price
1 0.00 2.00 2.50
2 2.00 3.00 3.00
3 3.00 4.00 4.50
Run Code Online (Sandbox Code Playgroud)
我的目标,如果我的值为2,则选择ID为1的行(在from和to之间).所以这是我正在使用的查询:
select * from table where 2 between from and to;
Run Code Online (Sandbox Code Playgroud)
以下是MySQL在执行此查询时返回的结果:
id from to price
1 0.00 2.00 2.50
2 2.00 3.00 3.00
Run Code Online (Sandbox Code Playgroud)
我正在寻找的结果如下:
id from to price
1 0.00 2.00 2.50
Run Code Online (Sandbox Code Playgroud)
我尝试过使用<和>等等.但是,我总是得到两个结果.任何帮助将非常感激.
我正在尝试将一个spring bean注入过滤器,但无法使其工作.
注入的bean总是"空".我成功地在Controllers和HandlerInterceptors中自动装配这个相同的bean,因此它被正确注释.
过滤器类位于其余控制器的相同基础包下.
这是我的web.xml的相关部分
<filter>
<filter-name>CheckSession</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>CheckSession</filter-name>
<url-pattern>/panel/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
这是过滤器的代码
@Component
public class CheckSession extends OncePerRequestFilter implements Filter {
@Autowired private Usuario usuario;
@Override
protected void doFilterInternal(
HttpServletRequest request,
HttpServletResponse response, FilterChain chain)
throws ServletException, IOException {
// always null
System.out.println("autowired " + usuario);
chain.doFilter(request, response);
}
}
Run Code Online (Sandbox Code Playgroud)
过滤器在每个请求时触发.
这些是"Usuario"bean中的注释
@Component
@Scope(value="session", proxyMode=ScopedProxyMode.TARGET_CLASS)
public class Usuario implements java.io.Serializable { ... }
Run Code Online (Sandbox Code Playgroud)
我错过了什么?谢谢!
我在我的应用程序中使用属性网格来显示对象属性的名称和值.
默认情况下,列的宽度(名称和属性)的比例为50:50.我们可以选择滑动分离器来改变这个宽度.我想知道如何以编程方式调整此宽度,以便可以设置为25:75.
java ×4
c# ×2
spring ×2
.net ×1
aop ×1
autowired ×1
between ×1
class ×1
collections ×1
jdbc ×1
jdbctemplate ×1
jodatime ×1
junit ×1
mockito ×1
mysql ×1
propertygrid ×1
schema ×1
sorting ×1
sql ×1
synchronize ×1
unit-testing ×1
web.xml ×1
winforms ×1