質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
GlassFish

GlassFishは、Java EE準拠のアプリケーションサーバの名称です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

3回答

11096閲覧

EJBTransactionRolledbackExceptionが出る不具合

MracleTShirt09

総合スコア13

GlassFish

GlassFishは、Java EE準拠のアプリケーションサーバの名称です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

0クリップ

投稿2015/11/06 09:46

編集2015/11/06 13:59
  1. 動作環境
  • ローカル開発環境

    • Mac OSX ElCapitan
    • NetBeans 8.0.2
    • MySQL 5.6.27
    • Java 1.8.0_45
    • Glassfish 4.1
  • 実行環境

    • RHEL7.1
    • Java 1.8.0_65
    • Glassfish 4.1
    • MySQL 5.7.9
  1. 現象

ローカル開発環境で作成したMySQLに接続して画面に表示
するWebアプリケーションが動作しない。
ローカル開発環境では問題なく動作していますが、実行環境
では
「javax.servlet.ServletException: javax.ejb.EJBTransactionRolledbackException」
というエラーが表示されます。

  1. 質問

上記現象の原因として考えられることは何がありますでしょうか。
また、解決方法はどのような手順になりますでしょうか。

イメージ説明

  1. persistence.xml

<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="SampleGiftAppPU" transaction-type="JTA"> <jta-data-source>jdbc/mysql-sample_db</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="javax.persistence.schema-generation.database.action" value="create"/> </properties> </persistence-unit> </persistence> ----

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

エラーの発生したメソッドレベルから特定していった方が良いのではないでしょうか。
ローカル環境、実行環境にDB定義もしくはデータ内容に差分が存在していて、ローカル環境では通らなかったパスでエラーが発生してるのではないでしょうか。
エラー内容を見ると、closeしたfactoryでrolbackを掛けようとして失敗しているようなのでプログラム要因と類推しました。

投稿2015/11/07 01:45

BlueMoon

総合スコア1339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MracleTShirt09

2015/11/09 11:57

回答ありがとうございます。 もう少し詳細に調べてみます。
guest

0

ベストアンサー

EJBTransactionRolledbackExceptionより、それの原因である、

java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.

のメッセージが重要と思います。
データソースの設定ミスなどで、うまくデータベースに接続できない場合などに発生する様ですが、
JDBC接続プールの設定で、Pingには成功しますか?

投稿2015/11/06 11:29

eripong

総合スコア1546

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MracleTShirt09

2015/11/06 12:11

ご回答ありがとうございます。 JDBC接続プールではPingに成功しています。 ですので、どこかの設定がうまく言っていないと思うのですが。。。。
eripong

2015/11/06 13:23

persistence.xmlかJNDIの設定でしょうか? ログファイルに詳細なスタックトレースなどの手がかりは出力されていませんか?提示できる内容であれば教えてください。
MracleTShirt09

2015/11/06 14:09

ご丁寧にありがとうございます。persistence.xmlの設定になります。 質問内容に記載させていただきました。エラーログを取得したので今そちら確認中です。 初心者なのでしょうもないところでミスっている可能性大なので、現在細かく確認中です、
guest

0

直接の回答ではありませんが、
開発環境はプラットフォームを含めてパッチレベルまで本番環境を用意するのが基本です。あちこちで仕事をしていると、基本を無視して勉強代を払い続けて信用をなくしたソフト会社を何社も経験しています。笑い

投稿2015/11/06 19:27

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MracleTShirt09

2015/11/09 11:56

回答ありがとうございます。 もう少しやってダメならローカルでもRHEL7(CentOS7になるかも)の環境を用意してやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問