4

我使用 Weblogic 10.3.0 在 NetBeans 7.4 上创建了一个 Java EE 5 企业应用程序,包括一个 WAR 和一个 EJB

我使用 JPA,所以我需要为我的 persistence.xml 使用数据源

我的问题是我正在尝试按照以下方式创建 JDBC 数据源:http: //docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/wwimages/jdbc_package_simple.gif

但是 Netbeans 没有将 ejb-jar.xml 添加到 EJB,我需要它作为资源参考。Oracle 的文档说它需要在 META-INF 文件夹中,但是如果我将该文件添加到该文件夹​​然后编译它会自动删除。

那么,我的 ejb-jar.xml 在哪里?如果我自己创建它,我该怎么做才能包含它而不在编译后被删除?用 WINRAR 打开 jar 并手动添加(笑话)?有没有更简单的方法来做到这一点?

谢谢

4

2 回答 2

0

强烈建议您改用新的Java EE 5 Annotations。对于此示例, thisIsMyDataSource是名称,但您可以使用服务器上配置的任何名称(例如,您可能有多个名称)。

@Resource
javax.sql.DataSource thisIsMyDataSource;
public Foo doSomethingNeedingADataSource() {
   Connection con = thisIsMyDataSource.getConnection();
   .........
}

Java EE 5 消除了对旧样板配置的要求,从而简化了开发。您可以(但可能不应该)使用Apache Derby编程之类的东西(可能通过DI)。EJB中存在角色分离。这是一个使用WebSphere的示例。您可能想了解更多关于JDBC的信息。

于 2013-11-14T20:18:04.537 回答
0

好吧,我删除了我的 EJB(没有必要)。我刚刚创建了我的 JDBC 应用程序模块以在我的 WAR 中使用它,而无需在链接中做所有这些事情。将我的 datasource-jdbc.xml 放入配置文件夹(META-INF)并在 weblogic-application.xml 中插入下一个代码就足够了:

<module>
  <name>
    MyDatabase
  </name>
  <type>
    JDBC
  </type>
  <path>
    META-INF/datasource-jdbc.xml
  </path>
</module>

然后我在 Persistence.xml 中使用了 JNDI“MyDatabase”

要生成数据源-jdbc.xml,您可以转到服务器(一个测试),创建数据源,然后转到服务器文件夹,并且有一个文件夹(在其中一个主文件夹中,查找它),名称为“jdbc”。在其中,您可以获取生成的 xml。

于 2013-11-17T14:29:21.133 回答