我想在反序列化之后将单例范围的依赖项重新注入原型Spring bean.
假设我有一个Process bean,它依赖于Repository bean.Repository bean的作用域是单例,但Process bean是原型作用域.我会定期对序列进行序列化,然后对其进行反序列化.
class Process {
private Repository repository;
// getters, setters, etc.
}
Run Code Online (Sandbox Code Playgroud)
我不想序列化和反序列化存储库.我也不想将"瞬态"放在成员变量上,该成员变量在Process中包含对它的引用,也不是对某种代理的引用,或者除了声明为Repository的普通旧成员变量之外的任何东西.
我想我想要的是让Process依赖于一个可序列化的代理,该代理指向(通过瞬态引用)到Repository,并且在反序列化时,可以再次找到Repository.我怎么能自定义Spring呢?
我想我可以使用代理来保存依赖引用,就像.我希望我可以使用那种确切的技术.但是我看到Spring生成的代理不是可序列化的,并且文档说如果我将它与单例bean一起使用,我将得到一个例外.
我可以在单例bean上使用自定义作用域,当要求自定义作用域bean时,它总是提供代理.这是一个好主意吗?其他想法?
如何在CI系统中设置Play应用程序和(自定义)Play模块的构建,以便在模块构建良好时,构建将模块工件安装在本地存储库中和/或将它们部署到远程存储库,并且应用程序使用该存储库中的工件?
该解决方案也适用于在本地工作的开发人员.
我正在使用Jenkins,并且无论如何我都会遇到麻烦.
在我详细阐述我遇到的所有问题之前,我会等待,因为它很费劲,也许其他人可以提供他们如何做到这一点.
build-automation continuous-integration dependency-management playframework
我希望能够指定对象的成员变量在对象被"初始化"后是不可变的,这对我来说意味着在它注入任何依赖项之后,并且已经执行了它只能执行的任何其他初始化操作在DI之后.
是否有满足我兴趣的语言 - 以这种方式形式化DI,初始化和支持不变性?也许让它们成为语言的一部分是愚蠢的; 也许不吧.我不确定.
今天我用Java编程,但我不能像我想的那样使用"final",因为这些阶段发生在构造函数完成执行之后.关于如何通过Java获得我想要的任何建议?我想我可以让我的对象实现一个基类,以便这些阶段在构造函数完成之前发生,或者使用方面来执行相同的操作.
思考?
如何编写可以针对给定数据库链接执行的整洁的PL/SQL存储过程?
它变得非常混乱,写这样的东西:
PROCEDURE my_proc(aDbLink IN VARCHAR2)
IS
BEGIN
EXECUTE IMMEDIATE '
SELECT mycolumn, anothercolumn
FROM MYTABLE@' || aDbLink || '
WHERE such-and-such...'
END
Run Code Online (Sandbox Code Playgroud)
随着查询变大.
我还能做什么?我坚持使用存储过程,并期望我的程序将针对几个数据库链接中的一个执行.
我的本地文件系统中有一个工件,但除非我将<filesystem>解析器放在<chain>中,否则Ivy不解决它.并且它在解析它时重命名工件扩展.
这是我的ivy.xml:
<ivy-module version="2.0">
<info organisation="apache" module="hello-ivy"/>
<dependencies>
<dependency org="myorg" name="mymodule" rev="1.1-SNAPSHOT"/>
</dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)
这是我的ivysettings.xml:
<ivysettings>
<settings />
<resolvers>
<filesystem name="local">
<artifact pattern="/path/to/my/artifact/[module]/dist/[module]-[revision].zip" />
</filesystem>
</resolvers>
</ivysettings>
Run Code Online (Sandbox Code Playgroud)
我的build.xml:
<project xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="deps">
<target name="deps" description="--> retrieve dependencies with ivy">
<ivy:settings file="ivysettings.xml"/>
<ivy:resolve />
<ivy:retrieve />
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
工件是.zip文件.它位于正确的位置并且命名正确(根据<artifact>的模式属性.但是当我运行ant时,它无法解析工件:
[ivy:resolve] :::: WARNINGS
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: UNRESOLVED DEPENDENCIES ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: myorg#mymodule;1.1-SNAPSHOT: no resolver found for myorg#mymodule: check your configuration
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :::: ERRORS
[ivy:resolve] unknown resolver null …Run Code Online (Sandbox Code Playgroud) 如何编写代码以通过Resque故障队列并有选择地删除作业?现在我在那里遇到了一些重要的失败,穿插在反复失控的失控工作的成千上万次失败中.我想删除失控作业生成的那些.我熟悉的唯一API是排队工作.(我会继续RTFMing,但我有点匆忙.)
我在我的node.js应用程序中有一个JS方法,我想进行单元测试.它对服务方法进行多次调用,每次都将该服务传递回调; 回调累积结果.
我如何使用Jasmine来删除服务方法,以便每次调用存根时,它都会使用由参数确定的响应来调用回调?
这是(就像)我正在测试的方法:
function methodUnderTest() {
var result = [];
var f = function(response) {result.push(response)};
service_method(arg1, arg2, f);
service_method(other1, other2, f);
// Do something with the results...
}
Run Code Online (Sandbox Code Playgroud)
我想指定当使用arg1和arg2调用service_method时,存根将使用特定响应调用f回调,并且当使用other1和other2调用它时,它将使用不同的特定响应调用相同的回调.
我也考虑一个不同的框架.(我尝试过Nodeunit,但没有按照我的意愿去做.)
对于这样一个noobie问题很抱歉,我以前从未遇到过这个问题,我在线查看但只能找到argc和argv的描述.
无论如何,我在visual studio 2012中启动了一个新的win32控制台项目.我点击了空项目,然后开始添加program.cpp,其内容如下:
#include <iostream>
#include <Windows.h>
int main(int argc, char** argv)
{
printf( "%d", argc );
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我打算使用参数来创建一个程序,这就是为什么我需要argc才能正常工作.关于输出大量数字的代码,如'21374903'.在属性 - >链接器 - >高级我将入口点设置为'main'.
有什么我做错了吗?我可以添加设置以使其正常工作吗?
java ×2
c++ ×1
datepicker ×1
immutability ×1
ivy ×1
jasmine ×1
javascript ×1
jquery ×1
node.js ×1
nodeunit ×1
oracle ×1
resque ×1
ruby ×1
spring ×1
timepicker ×1