2

moqui で、mysql を使用するように構成しようとしています。derby をコメントアウトし、defaultconf で mysql のコメントを外しました。コネクタをフレームワーク lib にコピーし、フレームワーク build.gradle に依存関係を含めました。ロードの実行時に、このエラーが発生しました - java.lang .reflect.InvocationTargetExceptionjavax.management.InstanceAlreadyExistsException: bitronix.tm:type=JDBC,UniqueName=DEFAULT_transactional_DS,Id=0 -- 助けてくれてありがとう

4

2 に答える 2

5

MoquiDefaultConf.xml および build.gradle ファイルで変更したコードのスニペットを投稿できますか。

Moqui でMySQL を構成するための実行可能な代替手段は、構成ファイルで関連する設定を行うことです (つまり、開発インスタンスの場合はMoquiDevConf.xmlステージングインスタンスの場合はMoquiStagingConf.xml運用インスタンスの場合はMoquiProductionConf.xml )。以下の手順に従って、Moqui で MySQL を構成します。

  1. 何らかの開発を行おうとしている可能性があるため、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&amp;useUnicode=true&amp;characterEncoding=UTF-8"
                     jdbc-username="MYSQL_USER_NAME" jdbc-password="MYSQL_PASSWORD" pool-minsize="2" pool-maxsize="50"/>
    </datasource>
</entity-facade>
上記のコードで、「MoquiDEFAULT」はデータベースの名前です。MYSQL_USER_NAME と MYSQL_PASSWORD を MySQL のユーザー名とパスワードに置き換えます。

  1. MySQL でデータベースを作成します (上記のコードに従って、MoquiTransactional という名前のデータベースを作成します)。
  2. MySQL 用の jdbc ドライバーを runtime/lib ディレクトリに追加します。
  3. MoquiInit.propertiesファイルで、MoquiDevConf.xml ファイル パスを「moqui.conf」プロパティに設定します。つまり 、moqui.conf=conf/MoquiDevConf.xml
  4. あとは、ビルド、ロード、実行するだけです。

シード データの読み込みに関する質問に答えるには、

gradle コマンドを実行するだけでgradle load -Ptypes=seed、シード タイプのデータのみが読み込まれます。

于 2014-10-02T15:51:16.730 に答える
0

これ以上の詳細がなくても、マシン上で Bitronix の別のインスタンスが実行されていると思われます。UniqueName によって、Moqui の別のインスタンスが実行されていることはほぼ確実です。新しいインスタンスを開始する前に、他のインスタンスが実行されていないことを確認し、バックグラウンド プロセスがあれば強制終了します。

于 2014-10-02T15:21:47.847 に答える