2013-04-26 1 views
0

Когда я пытаюсь развернуть продукт в jboss 5. Я использую toplink-essentials для JPA 1.0.predeploy для PersistenceUnit не удалось в JBOSS с необходимыми компонентами toplink

Этот продукт успешно работает на котом 6.

Но в JBoss он показывает ошибки.

Я пытаюсь развернуть продукт через Eclipse IDE.

выход

Ошибка:

19:38:27,983 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=#Entity state=Create 
javax.persistence.PersistenceException: Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/21/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 
Exception Description: predeploy for PersistenceUnit [Entity] failed. 
Internal Exception: java.lang.NullPointerException 
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:615) 
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createContainerEntityManagerFactory(EntityManagerFactoryProvider.java:178) 
at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:301) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59) 
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150) 
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) 
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241) 
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) 
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109) 
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70) 
at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221) 
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) 
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) 
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) 
at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) 
at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) 
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) 
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) 
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) 
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774) 
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540) 
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121) 
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51) 
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62) 
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50) 
at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098) 
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) 
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) 
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) 
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) 
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781) 
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702) 
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117) 
at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70) 
at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) 
at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361) 
at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) 
at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) 
at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) 
at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) 
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) 
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) 
at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306) 
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271) 
at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) 
at org.jboss.Main.boot(Main.java:221) 
at org.jboss.Main$1.run(Main.java:556) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/21/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException 
Exception Description: predeploy for PersistenceUnit [Entity] failed. 
Internal Exception: java.lang.NullPointerException 
at oracle.toplink.essentials.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:212) 
... 62 more 
Caused by: java.lang.NullPointerException 
at oracle.toplink.essentials.internal.ejb.cmp3.xml.XMLHelper.parseDocument(XMLHelper.java:623) 
at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.readStandardMappingFiles(MetadataProcessor.java:369) 
at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.readMappingFiles(MetadataProcessor.java:339) 
at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:344) 
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:584) 
... 61 more 

........ 
........ 
........ 

15:37:39,014 WARN [HDScanner] Failed to process changes 
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS): 

DEPLOYMENTS IN ERROR: 
Deployment "persistence.unit:unitName=#Entity" is in error due to the following reason(s): java.lang.NullPointerException 

at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:993) 
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:939) 
at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873) 
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128) 
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:369) 
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) 
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) 
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

Вот мой файл persistence.xml ...

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> 

<persistence-unit name="Entity" transaction-type="RESOURCE_LOCAL"> 

    <provider>oracle.toplink.essentials.PersistenceProvider</provider> 

    <non-jta-data-source>java:/iport</non-jta-data-source> 

    <class>env.model.masters.IptNotifications</class> 
    <class>env.model.masters.IptNotificationslines</class> 

    <properties> 
     <property name="toplink.jdbc.driver" 
      value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
     <property name="toplink.jdbc.url" 
      value="jdbc:sqlserver://x.x.x.x:1433;databaseName=IPORTMAN_GPL" /> 
     <property name="toplink.jdbc.user" value="xx" /> 
     <property name="toplink.jdbc.password" value="xx" /> 
    </properties> 

</persistence-unit> 

Я использую Struts 2.1.x, 1.2.x пружины, JPA 1.0 , toplink-essentials 2.0

Пожалуйста, помогите мне решить проблему ...

редактировали 29/04/2013:

Здравствуйте Пожалуйста, любое тело может помочь мне ...

Я могу понять одну вещь, что есть некоторые вещи неправильно в persistence.xml и это данные.

После так много гугла, я нашел некоторые решения .... как ....

1) Удалите "частный статический окончательный долго serialVersionUID = 1L;" от всех pojos.

2) Не должно быть пробелов в persistence.xml внутри тега.

3) Измените источник данных JTA на базу данных NON-JTA.

Я изменил все вещи в соответствии с вышеупомянутыми пунктами.

Но все же я получаю ту же ошибку.

Мой обновленный peresistence.xml есть ..

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> 

    <persistence-unit name="Entity" transaction-type="JTA"> 

    <provider>oracle.toplink.essentials.PersistenceProvider</provider> 

    <jta-data-source>java:/iport</jta-data-source> 

    <class>env.model.masters.IptNotifications</class> 
      <class>env.model.masters.IptNotificationslines</class> 

      <properties> 
       <property name="toplink.jdbc.driver" 
        value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
       <property name="toplink.jdbc.url" 
        value="jdbc:sqlserver://x.x.x.x:1433;databaseName=IPORTMAN_GPL" /> 
       <property name="toplink.jdbc.user" value="xx" /> 
       <property name="toplink.jdbc.password" value="xx" /> 
      </properties> 
    </persistence-unit> 

</persistence> 

Пожалуйста, проверьте эту проблему. и предложите мне возможное решение.

У меня также есть файл orm.xml.

код как ниже ..

<?xml version="1.0" encoding="UTF-8"?> 
<entity-mappings 
xmlns="http://java.sun.com/xml/ns/persistence/orm" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd" 
version="1.0"> 
<persistence-unit-metadata> 

    <persistence-unit-defaults> 

     <schema>IPORTMAN</schema> 

     <catalog>IPORTMAN_GPL</catalog> 

    </persistence-unit-defaults> 

</persistence-unit-metadata> 
</entity-mappings> 

Пожалуйста, проверьте его

ответ

1

Ошибка возникает, когда TopLink Essentials пытается загрузить файл orm.xml по умолчанию. У тебя есть один? Убедитесь, что ваш файл действителен, а его пространство имен и т. Д. Верны. Если у вас его нет, вы можете добавить его.

Также попробуйте обновить до последней версии TOPLINK Основы патча или обновления до EclipseLink, который заменил TopLink Essentials, начиная с 2008 годом

+0

Привет, Джеймс. Да, у меня есть файл orm.xml. прямо сейчас я не могу обновить свой EclipseLink, потому что я много работал. – srihariraom

+0

Только что я обновил мой orm.xml в описанной выше проблеме. пожалуйста, подтвердите один раз и скажите мне, что это проблема. – srihariraom

+0

Наконец-то я уродлился от toplink-essentials до Eclipelink. и вышеупомянутая проблема решена. Спасибо, Джеймс ... – srihariraom

0

Исключение не объясняет многое, но, по крайней мере, в Glassfish, транзакции типа должен быть установлен в JTA вместо RESOURCE_LOCAL в файле persistence.xml, поскольку в качестве полномасштабного Java Application Server приложений EE он хочет, чтобы JTA-транзакции были готовы использовать для EJB и для управления EntityManagers, управляемых контейнерами.

Если это проблема с JBoss, и вы используете Spring, есть временные решения, такие как изменение имени persistence.xml-файл на что-то еще, поэтому JBoss не пытается загрузить блок персистентности, который уже обрабатывается Spring.

+0

Hi немецкого, я пытавшийся по вашему предложению, я изменил 'транзакции типа = "JTA" и изменил тег '' на ''. Но снова он показывает такую ​​же ошибку. Я удалил тэг 'transaction-type = 'JTA, но никаких изменений не произошло. Ошибка на той же стадии. Пожалуйста, помогите мне решить проблему. – srihariraom