Leiningen为"主要"代码,主要资源和测试代码提供了默认目录,但没有为测试资源提供任何内容.
来自maven背景,这是我所期待的.
在这种情况下,应该在哪里测试资源?或者一个更大的问题,它不需要测试资源目录的哲学原因是什么
是否可以通过编程方式创建/拆卸Spring Integration通道,而不是在Spring配置中静态声明它们?
我的情况是这样的:
我有一个需要推送通知的Webapp,所以我正在使用长时间轮询。那些长时间的轮询调用需要在服务器上阻塞,直到它们收到事件为止。
我所设想的(当然是对替代方案开放的)是每个会话的Spring Integration队列通道,每个会话都监听单个pubsub通道。因此,当发生服务器事件时,它将被发布到pubsub,然后将其管道传输到各个会话队列,在这些会话队列中,它们将被弹出并发送到进行轮询的客户端。
为此,创建会话时,我必须在pubsub通道上注册新的队列通道列表。当会话被销毁时,该新队列也将被销毁。
这样的事情可能吗?
我不想让会话直接监听pubsub,因为有丢失消息的风险,因此我希望在两者之间有一个队列来缓冲它们。
谢谢罗伊
试图弄清楚如何为原始值编写自定义匹配器.说我有以下自定义匹配器:
class IsEven extends ArgumentMatcher<Integer> {
public boolean matches(Object i) {
return ((Integer) i) % 2 == 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我运行以下测试.'mocked'是一个已经被模拟的类的实例,它有一个方法'someMethod':
@Test
public void primatives() {
mocked.someMethod(2);
ArgumentMatcher<Integer> customMatcher = new IsEven();
// ! Throws NPE !
Mockito.verify(mocked).someMethod(Mockito.argThat(customMatcher));
}
Run Code Online (Sandbox Code Playgroud)
NullPointerException的原因是Mockio.argThat方法总是返回一个null,我猜测它不能被自动装回一个整数.
我觉得这可能是一个常见的用例 - 任何建议?
谢谢,罗伊
在 Spring Integration 中,处理程序和拦截器看起来基本上实现了相同的功能。甚至还有一些“被欺骗的”实现,例如MessageTransformingChannelInterceptorand MessageTransformingHandler,据我所知,它们提供了具有不同语义的相同功能。
是否有一个合适而不是另一个合适的时候?如果这是一个偏好问题,那么我猜会有某种约定?
谢谢,罗伊
我有class A一个abstract method,并class B延伸class A.
abstract method 在创建新的类对象时调用.
在class B我已经定义一个全局变量,但是当我尝试使用这个变量似乎为空.理论上,这var是定义和初始化的.
我的代码:
public abstract class A{
public abstract void someMethod();
public A(){
someMethod();
}
}
public class B extends class A{
Rectangle[] mPathDots=new Rectangle[30]; //initialized array with 30 nulled items
@Override
someMethod(){
int x = mPathDots.length; //error! mPathDots is null, but in theory lenght must be 30 !?
}
}
Run Code Online (Sandbox Code Playgroud)
创建:
B b = new B();
Run Code Online (Sandbox Code Playgroud)
为什么是mPathDotsnull? …
伴随的plunker(在coffeescript,但javascript下面)
我无法在指令中获取属性范围的变量(@).
这是指令代码:
app.directive('myDirective', [
function() {
var compileFn, config, linkFn;
linkFn = function($scope, element, attr) {
return alert("foo: " + $scope.foo);
};
compileFn = function() {
return linkFn;
};
return config = {
compile: compileFn,
scope: {
foo: '@myDirectiveFoo'
}
};
}
]);
Run Code Online (Sandbox Code Playgroud)
和HTML:
<span my-directive my-directive-foo="bar"></span>
Run Code Online (Sandbox Code Playgroud)
我希望被警告的值将是"bar",但它是未定义的.我错过了什么?