Jakarta ee 带有插件的JavaEE应用程序结构&;嵌入式数据库

Jakarta ee 带有插件的JavaEE应用程序结构&;嵌入式数据库,jakarta-ee,plugins,architecture,hsqldb,derby,Jakarta Ee,Plugins,Architecture,Hsqldb,Derby,我在这里发帖是因为我对未来项目的结构提出了疑问 我希望通过遵循与Jenkins/Hudson等主要软件相同的模型来制作一个JavaEE应用程序,这些软件提供了一个.war/ear可部署,并嵌入了自己的数据库和插件管理。 最终目标是用户下载并部署war/ear“随时可用” 我的问题是: 我想使用EJB,我应该如何将我的项目组织到IDE中?核心项目+战争项目 当我想使用嵌入式数据库HSQL或Derby样式时,我找到的教程表明我必须在容器中添加一些jar/xml,这与“随时可用”的想法背道而驰 最后

我在这里发帖是因为我对未来项目的结构提出了疑问

我希望通过遵循与Jenkins/Hudson等主要软件相同的模型来制作一个JavaEE应用程序,这些软件提供了一个.war/ear可部署,并嵌入了自己的数据库和插件管理。 最终目标是用户下载并部署war/ear“随时可用”

我的问题是:

  • 我想使用EJB,我应该如何将我的项目组织到IDE中?核心项目+战争项目

  • 当我想使用嵌入式数据库HSQL或Derby样式时,我找到的教程表明我必须在容器中添加一些jar/xml,这与“随时可用”的想法背道而驰

  • 最后一个问题,同样重要的是,一个将以jar形式出现的插件,我的应用程序如何使用它?欢迎提供一些关于插件管理的想法/教程


本项目用于教育目的。

在Java EE中,或多或少有两所学校提倡不同的方法

第一个学派是传统学派,主张JavaEE应用程序应该始终是不完整的,例如具有“未解决的依赖关系”。从应用程序打包者到部署者的一系列人员(角色),然后逐渐地、迭代地准备使应用程序实际可运行

这所学校避免在应用程序归档中嵌入数据源定义、安全性(主要是身份验证)和JMS队列(即使最后这些队列完全位于应用程序内部)。根据第一所学校的一些成员的说法,包含这些内容的应用程序不再是JavaEE应用程序(参见示例)

但也有另一个学派,他们认为存在这样的用例,将所有这些都放在JavaEE归档中实际上是最好的方式。将
@DataSourceDefinition
添加到规范中的事实表明了这一点,JavaEE7将标准化其他类型资源(如JMS队列)的嵌入

这两篇博文介绍了一个使用嵌入式数据库的Java EE示例:

在许多应用服务器中,嵌入标准化数据源的想法是事后才想到的,并且很可能不在TCK中涵盖。综上所述,目前的支持情况如下:

  • WebLogic 12c-完美无瑕
  • JBoss AS 7.1.1-几乎必须关闭事务支持(请参阅)
  • GlassFish 3.1.2-几乎仍然需要将JDBC驱动程序复制到服务器
  • TomEE 1.0-当前无法正常工作,始终指向内部嵌入式数据库(请参阅)