2011-12-21 78 views
1

我在glassfish中使用Eclipselink部署应用程序,我想使用新的Eclipse 2.3属性DEPLOY_ON_STARTUP加速我的事情一点。我为我的开发使用了Netbean 7.0和glassfish 3.1.1。使用Eclipselink JPA:如何在persistence.xml中设置启动时的部署

我的问题是:如何在Persistence.xml中设置它?我尝试了以下方法,无法部署。

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence".... 

    <persistence-unit name="MyPU" transaction-type="JTA"> 
    <jta-data-source>myDataSource</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes>  

    <properties> 
     <DEPLOY_ON_STARTUP>True</DEPLOY_ON_STARTUP> 
    </properties> 

    </persistence-unit> 

</persistence> 

如果非要在代码中设置该属性,我该怎么办呢?在维基的EclipseLink说:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu-name", props); 

但是我使用@EJB注解,我不管理我的代码的EntityManagerFactory或实体。

回答

1

您的方法不起作用,因为properties-element内的元素应该是property-elements,它们是name-value -pairs。尝试

<property name="eclipselink.deploy-on-startup" value="True" /> 

改为。我不知道没有给出这样的速度提高要搜索的内容,根据的javadoc:

这可能会增加的JavaEE服务器的启动时间,但会避免为持久性单元部署悬挂 第一个请求。

+0

谢谢。有用。我的第一个Web服务调用总是很慢。通过增加这个,希望它会加快一点点。 – neo 2011-12-22 20:04:54

相关问题