2

在moqui中,我试图配置为使用mysql,在defaultconf中注释掉derby和未注释的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.graddle 文件中修改的代码片段。

使用 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. 在 runtime/lib 目录中添加 MySQL 的 jdbc 驱动程序。
  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 回答