2011-12-21 3 views
1

Я использую EclipseLink в GlassFish для развертывания приложения, и я хотел бы использовать новый 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

Ваш подход не работает, потому что элементы внутри свойства-элемента должны быть элементами-элементами, которые являются парами имен-значений. Попробуйте

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

вместо этого. Я не уверен, что это дает такое увеличение скорости, что вы ищете, в соответствии Javadocs:

Это может увеличить время запуска сервера JavaEE, но избежать первого запроса от виселицы, как развертываются единицы сохранения ,

+0

спасибо. оно работает. мой первый вызов веб-службы всегда медленный. добавив это, надеюсь, это немного ускорится. – neo

Смежные вопросы