Я хотел бы использовать Диспетчер постоянства, предоставленный Glassfish.
Модуль сохранения работает, есть записи журнала с _pu1 login successful
при запуске сервера.
Веб-служба работает.Я могу получить к нему доступ с клиента, но EntityManager остается NULL
. Если я удаляю аннотацию @PersistenceContext(unitName = "pu1")
, записи журнала с _pu1 login successful
больше не отображаются.И если я изменяю unitName
, я получаю исключение.
Я должен упустить деталь.
, настройка очень проста:
- web.xmlпусто
- beans.xml пусто
- sun-jaxws.xml содержит определение веб-службы
Вот код для класса WebService (начало было опущено для краткости):
@LocalBean
@Stateless
@WebService()
public class AlbauInterface implements Serializable {
private Logger logger = Logger.getLogger( getClass().getName() );
@PersistenceContext(unitName = "pu1")
private EntityManager em;
private DataAccess session;
private List<ServiceReport> reports = new ArrayList<ServiceReport>();
private boolean logedIn = false;
@PostConstruct
private void init() {
logger.fine( "initializing" );
}
@PreDestroy
private void finalizer() {
}
@WebMethod
public void login( @WebParam( name = "user", mode = WebParam.Mode.IN ) String user,
@WebParam( name = "password", mode = WebParam.Mode.IN ) String password )
throws WebApplicationException {
logedIn = true;
return;
}
}
вот файл persistence.xml:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="pu1">
<jta-data-source>jdbc/__default</jta-data-source>
<properties>
<!--Use the java2db feature -->
<property name="eclipselink.ddl-generation" value="create-tables"/>
<!-- Generate the sql specific to Derby database -->
<property name="eclipselink.target-database" value="Derby"/>
</properties>
</persistence-unit>
</persistence>
Файл журнала содержит следующее предупреждение, которое я не понимаю:
#|2012-03-14T17:57:29.298+0100|WARNING|glassfish3.1.1|org.eclipse.persistence.session.file:/Development/glassfish3/glassfish/domains/domain1/applications/SertalInterface/WEB-INF/classes/_pu1.server|_ThreadID=17;_ThreadName=Thread-3;|Multiple [2] JMX MBeanServer instances exist, we will use the server at index [0] : [com.sun.enterprise.v3.admin.DynamicInterceptor@d25538].|#]
[#|2012-03-14T17:57:29.298+0100|WARNING|glassfish3.1.1|org.eclipse.persistence.session.file:/Development/glassfish3/glassfish/domains/domain1/applications/SertalInterface/WEB-INF/classes/_pu1.server|_ThreadID=17;_ThreadName=Thread-3;|JMX MBeanServer in use: [com.sun.enterprise.v3.admin.DynamicInterceptor@d25538] from index [0] |#]
[#|2012-03-14T17:57:29.300+0100|WARNING|glassfish3.1.1|org.eclipse.persistence.session.file:/Development/glassfish3/glassfish/domains/domain1/applications/SertalInterface/WEB-INF/classes/_pu1.server|_ThreadID=17;_ThreadName=Thread-3;|JMX MBeanServer in use: [com.sun.jmx.mbeanserver.JmxMBeanServer@9c2a55] from index [1] |#]