moqui で、mysql を使用するように構成しようとしています。derby をコメントアウトし、defaultconf で mysql のコメントを外しました。コネクタをフレームワーク lib にコピーし、フレームワーク build.gradle に依存関係を含めました。ロードの実行時に、このエラーが発生しました - java.lang .reflect.InvocationTargetExceptionjavax.management.InstanceAlreadyExistsException: bitronix.tm:type=JDBC,UniqueName=DEFAULT_transactional_DS,Id=0 -- 助けてくれてありがとう
2 に答える
MoquiDefaultConf.xml および build.gradle ファイルで変更したコードのスニペットを投稿できますか。
Moqui でMySQL を構成するための実行可能な代替手段は、構成ファイルで関連する設定を行うことです (つまり、開発インスタンスの場合はMoquiDevConf.xml、ステージングインスタンスの場合はMoquiStagingConf.xml、運用インスタンスの場合はMoquiProductionConf.xml )。以下の手順に従って、Moqui で MySQL を構成します。
何らかの開発を行おうとしている可能性があるため、MoquiDevConf.xmlファイルのみを変更する必要があります。MoquiDevConf.xmlの
<entity-facade>
コードを次のコードに置き換えます。
<entity-facade crypt-pass="MoquiDefaultPassword:CHANGEME">
<datasource group-name="transactional" database-conf-name="mysql" schema-name="">
<inline-jdbc jdbc-uri="jdbc:mysql://127.0.0.1:3306/MoquiTransactional?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
jdbc-username="MYSQL_USER_NAME" jdbc-password="MYSQL_PASSWORD" pool-minsize="2" pool-maxsize="50"/>
</datasource>
</entity-facade>
- MySQL でデータベースを作成します (上記のコードに従って、MoquiTransactional という名前のデータベースを作成します)。
- MySQL 用の jdbc ドライバーを runtime/lib ディレクトリに追加します。
- MoquiInit.propertiesファイルで、MoquiDevConf.xml ファイル パスを「moqui.conf」プロパティに設定します。つまり 、moqui.conf=conf/MoquiDevConf.xml
- あとは、ビルド、ロード、実行するだけです。
シード データの読み込みに関する質問に答えるには、
gradle コマンドを実行するだけでgradle load -Ptypes=seed
、シード タイプのデータのみが読み込まれます。
これ以上の詳細がなくても、マシン上で Bitronix の別のインスタンスが実行されていると思われます。UniqueName によって、Moqui の別のインスタンスが実行されていることはほぼ確実です。新しいインスタンスを開始する前に、他のインスタンスが実行されていないことを確認し、バックグラウンド プロセスがあれば強制終了します。