我在NetBeans 7.4上创建了一个Java EE 5企业应用程序,包括使用Weblogic 10.3.0的WAR和EJB
我正在使用JPA,所以我需要使用我的persistence.xml的数据源
我的问题是我正在尝试在此之后创建JDBC数据源: http://docs.oracle.com/cd/E15051_01/wls/docs103/jdbc_admin/wwimages/jdbc_package_simple.gif
但Netbeans没有向EJB添加ejb-jar.xml,我需要资源参考。 Oracle的文档说它需要在META-INF文件夹中,但如果我将该文件添加到该文件夹然后编译它会自动删除。
那么,我的ejb-jar.xml在哪里?如果我自己创建它我可以做什么来包括它而不是在编译后删除?用WINRAR打开jar并手动添加(笑话)?有没有更简单的方法呢?
由于
答案 0 :(得分: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中有separation of roles。 以下是使用WebSphere的示例。您可能想要阅读有关JDBC的更多信息。
答案 1 :(得分:0)
好吧,我删除了我的EJB(它没有必要)。我刚刚创建了我的JDBC应用程序模块,以便在我的WAR中使用它,而无需在链接中完成所有这些操作。 将我的datasource-jdbc.xml放在config文件夹(META-INF)中并在weblogic-application.xml中插入下一个代码就足够了:
<module>
<name>
MyDatabase
</name>
<type>
JDBC
</type>
<path>
META-INF/datasource-jdbc.xml
</path>
</module>
然后我使用了JNDI&#34; MyDatabase&#34;在我的Persistence.xml中
要生成datasource-jdbc.xml,您可以转到服务器(测试版),制作数据源,然后转到服务器文件夹,并且有一个文件夹(在其中一个主文件夹中查找)名称为&#34; jdbc&#34;。在其中,您可以获取生成的xml。