2

Ur の良い作品が大好きです。ejb-jar をデプロイしているときに、glassfish サーバー 4 で問題が発生しています。xamppがインストールされているので、そこからmysqlを使用しています。私もネットビーンズを使っています。connector/j ドライバーを使用して mysql のデータ ソースを作成し、これを jta データ ソースとして使用しています。オンラインで解決策が見つからないようです。ありがとう これは、例外のスタック トレースです。

INFO:   EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b

WARNING:   Problem while unregistering MBean: javax.management.InstanceNotFoundException: TopLink:Name=Development-file_/C_/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU,Type=Configuration

WARNING:   Problem while unregistering MBean: javax.management.InstanceNotFoundException: TopLink:Name=Session(file_/C_/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU)

INFO:   file:/C:/Users/FOO/Documents/NetBeansProjects/Project/Project-ejb/build/classes/_Project-ejbPU logout successful

SEVERE:   java.lang.StackOverflowError
    at org.eclipse.persistence.internal.helper.DatabaseField.hashCode(DatabaseField.java:400)
    at java.util.HashMap.get(HashMap.java:317)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:874)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)
    at org.eclipse.persistence.mappings.OneToOneMapping.getFieldClassification(OneToOneMapping.java:882)

SEVERE:   Exception while deploying the app [Project-ejb]

SEVERE:   Exception during lifecycle processing

org.glassfish.deployment.common.DeploymentException: Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Deployment of PersistenceUnit [Project-ejbPU] failed. Close all factories for this PersistenceUnit.
Internal Exception: java.lang.StackOverflowError
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createDeployFailedPersistenceException(EntityManagerSetupImpl.java:816)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:756)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
    at org.glassfish.persistence.jpa.JPADeployer$2.visitPUD(JPADeployer.java:451)
    at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
    at org.glassfish.persistence.jpa.JPADeployer.iterateInitializedPUsAtApplicationPrepare(JPADeployer.java:492)
    at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:398)
    at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
4

2 に答える 2

1

私の場合、コードに関連する sth に到達するまで完全なトレースをたどりました。私の場合、1 つの namedQuery で問題が発生しました。

Grave: Excepción al desplegar la aplicación [segeca_restful] : Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException 例外の説明: PersistenceUnit [segeca_restfulPU] のデプロイに失敗しました. この PersistenceUnit のすべてのファクトリを閉じます。 内部例外: 例外 [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.JPQLException 例外の説明: 構文エラーの解析 [SELECT p FROM Peticion p WHERE p.usuarioIdusuario.idusuario :=イズアリオ]。[31、73] 式は有効な条件式ではありません。

おそらくあなたの場合、根本的な原因は別のものである可能性がありますが、グラスフィッシュのログを調べると、それが見つかると思います.

幸運を、

よろしく、

カール。

于 2014-11-25T22:16:07.550 に答える
0

こんにちは、同様の問題が発生しましたが、根本的な原因は異なっていました。複数の Web プロジェクトに対して 1 つの同じ永続化プロジェクトを使用しています。したがって、私にとっての解決策は、アプリケーション サーバーからすべてのプロジェクトをアンデプロイすることでした。それらを再構築し、必要なプロジェクトのみを展開します。いくらかのキャッシュがありました。

于 2013-11-25T07:00:54.347 に答える