我正在开发一个涉及创建大量Web服务的项目。使用自上而下/契约优先和模型驱动的设计策略(WSDL - > codegen)。 NetBeans(6.7)+ JAX-WS + GlassFish包含所选的工具堆栈。 Web服务将是在Glassfish JBI容器中部署为Composite Applications的EJB。
我们需要为Web服务实现类实现系统性质,例如覆盖toString
实现,添加日志记录,甚至将Template方法模式应用于实现类。
由于NetBeans / JAX-WS没有提供将自定义注入其代码生成过程的方法,因此我没有找到一种方法来完成我想做的事情,而不是手动修改生成的类。自上而下,是的;模型驱动,不再是。这样做会对项目产生重大的维护影响,因为Web服务可能会定期修改。
根据我必须使用的工具,有没有人对如何实现我需要的东西有任何其他想法?也许是一个将AOP与JAX-WS codegen集成的插件?另一个codegen支持一个神奇的@DoNotClobber注释来保留开发人员用户代码?
而且,如果我有机会使用基于Eclipse的工具集,草会更环保吗?
提前谢谢。
答案 0 :(得分:0)
做了一些研究。看起来JAX-WS / JAXB允许扩充其代码生成,但不能扩展到我需要的扩展。
Eclipse Modeling Framework认识到合并再生的价值。显然,EMF可用于非Eclipse开发环境。
答案 1 :(得分:0)
我不知道JAX-WS的模板是否可以自定义。您应该能够在模板管理器中找到它们;使用“工具”菜单的“模板”项打开此管理器。
可以使用“在编辑器中打开”按钮自定义许多托管模板。
This tutorial涵盖了NetBeans中有关模板的大量信息。对于您的迫切需要可能有点太多,但它确实有一些有用的屏幕截图等。