Tag: 代码生成

Axis2生成的Stub是线程安全的吗?

是通过Axis2 1.5.4线程安全的WSDL2JAVA(使用XMLBeans绑定选项)生成的存根吗? 实际上我已经为我通过多个线程调用的Web服务创建了一个Stub。 我已经配置了我自己的MultiThreadedHttpConnectionmanager并设置了HTTPConstants.REUSE_HTTP_CLIENT ,但我在stub._getServiceClient().cleanupTransport看到了一些NullPointerExceptions stub._getServiceClient().cleanupTransport每次调用后调用的stub._getServiceClient().cleanupTransport 。 有时线程也会挂起。 同时我注意到在Web Service操作方法中生成的Stub中,在finally块中已经调用了cleanup()。 我不应该之后调用stub._getServiceClient().cleanupTransport吗? 我的代码: httpConnMgr = new MultiThreadedHttpConnectionManager(); HttpConnectionManagerParams params = httpConnMgr.getParams(); if (params == null) { params = new HttpConnectionManagerParams(); } params.setDefaultMaxConnectionsPerHost(numberOfThreads); httpConnMgr.setParams(params); HttpClient httpClient = new HttpClient(httpConnMgr); service = new Service1Stub(this.endPointAddress); service._getServiceClient().getOptions() .setTimeOutInMilliSeconds(this.timeOut); service._getServiceClient().getOptions() .setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); service._getServiceClient().getOptions() .setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, Boolean.FALSE); service._getServiceClient() .getOptions() .setProperty(HTTPConstants.SO_TIMEOUT, (int) (this.timeOut)); service._getServiceClient() […]

每次更改时Eclipse自动生成serialVersionUID

Eclipse很好地为我生成了serialVersionUID。 但这似乎是被动代码生成,因为我更改文件时id不会自动更新,除非我再次生成代码。 有没有办法在每次更改内容时生成serialVersionUID? “保存行动”似乎没有包含这样的选项 – 有人找到了某种方法来做到这一点吗? 它可以与IDE保存操作或类似的东西结合使用,这样我可以恢复更改,如果我这样做不会影响序列化。 最好的问候,Touko 编辑:@gustafc:有两个要点: 如果我理解正确,不同的编译器最终可能会有不同的serialVersionUID值 从Serializable API : 但是,强烈建议所有可序列化类显式声明serialVersionUID值,因为默认的serialVersionUID计算对类详细信息高度敏感,可能因编译器实现而异,因此在反序列化期间可能导致意外的InvalidClassExceptions 我正在使用类似命令模式的对象在服务器上做事情。 因此,即使对象内容没有改变,当客户端和服务器上的类内容不同时捕获这些情况也会很好。 但是在考虑另一个时间,这个不可能与自动生成的值一起使用,因为只有内容更改才会改变这一点? 所以,实际上我想要一个自动递增的serialVersionUID 这听起来合情合理吗? Summa summarum,经过多思考后,每次更改时自动递增的serialVersionUID会更好……

将Java对象序列化为Java代码?

是否有将Java对象序列化为Java代码的实现? 例如,如果我有对象 Map m = new Map(); m.put(“foo”,new Integer(21)); 我可以使用它来序列化 ObjectOutputStream out = new ObjectOutputStream( … ); out.writeObject( m ); out.flush(); 例如,输出就是 java.util.Map m = new java.util.Map(); m.put(“foo”,new Integer(21)); 你为什么要这个? 有时,以编程方式部分创建复杂对象更容易,然后在代码中手动完成创建。 然后可以将此代码包含在源代码中,并使用其他所有内容控制其版本。 请注意,使用外部序列化对象是不可能的。 谢谢你提供的所有帮助。

以编程方式编写Java

我想知道是否已经有一个以编程方式编写java类或方法的库? 我正在寻找能够将新源代码写入现有文件或扩展已存在文件的库。

生成在Eclipse中返回self的setter

我想要我的定制者,以便我可以将它们链接起来: myPojo.setX(x).setY(y); 通常我使用Eclipse生成setter但不幸的是,setter的code template允许我只更改setter的主体,而不是签名。 什么是最简单的方法来完成上述? 除了搜索和替换+手动编辑? 🙂

Java的免费/开源测试生成器?

是否有任何Java库可以为现有代码生成unit testing或unit testing框架? 我正在寻找类似于听诊器的东西。 理想情况下,它会生成遵循JUnit4或TestNG约定的代码。 Agitar看起来像这样,但我正在寻找免费的东西。

Axis2 Web服务客户端生成 – 无需修改客户端的类型

是否可以使用Axis2和Eclipse生成Web服务客户端,并使用已包含的Java类型而不是创建自己的类型。 原因当然是如果我已经创建了类型A并且它创建了它自己的类型AI不能只将类型A的变量分配给类型B的变量。 wsdl是从部署到应用程序服务器的Web Service生成的。 如果无法从中生成它,则可以从已存在的java文件生成客户端。

使用RNGOM从RelaxNG模式生成对象模型 – 如何开始?

我想用RelaxNG Schema生成一个对象模型。 因此,我想使用RNGOM对象模型/解析器 (主要是因为我找不到任何替代方案 – 尽管我甚至不关心解析器编写/生成的语言)。 现在我从SVN检查了RNGOM源代码 ,我不知道如何使用RNGOM,因为那里没有关于用法的任何信息。 一个有用的提示如何从RNGOM开始 – 一个链接,示例或任何描述,使我不必阅读理解RNGOM的整个源代码 – 将作为答案。 更好的是如何使用解析器从RNG文件生成对象模型的简单示例。 更多信息: 我想从以下RelaxNG模式生成Java类: http://libvirt.org/git/?p=libvirt.git;a=tree;f=docs/schemas;hb=HEAD 我发现Glassfish的人正在使用rngom生成我需要的相同对象模型,但我还不知道他们是如何使用rngom的。

自动生成Java源代码

我正在寻找一种方法,根据类中定义的字段,自动为现有Java源代码文件中的新方法生成源代码。 本质上,我希望执行以下步骤: 阅读并解析SomeClass.java 迭代源代码中定义的所有字段 添加源代码方法someMethod() 保存SomeClass.java (理想情况下,保留现有代码的格式) 哪些工具和技术最适合实现这一目标? 编辑 我不想在运行时生成代码; 我想扩充现有的Java 源代码

appfuse vs roo – 你会用什么?

Appfuse vs. Roo,你会用什么?为什么? 每个人的甜点是什么?