【问题标题】:Mule to JPA compatibilityMule 与 JPA 的兼容性
【发布时间】:2012-10-08 08:40:08
【问题描述】:

我使用的是 Mule Studio 版本:1.3.1。

构建日期:201209061215

我无法获得 JPA 端点。我也下载了jpa-connector-1.0-20120925-2201.jar 但我不知道要与mule studio集成。

所以我决定使用一个简单的 Java 转换器并编写我的处理逻辑,该逻辑将在内部使用 JPA/Hibernate。

我知道我必须为 spring 使用 JPA 供应商适配器,否则我的任何服务都不会被实例化,DAO 类将被实例化。

我已经在 mule flow xml 中声明了一个数据源和 entityManager 作为 spring 的 bean,如图所示。

<spring:bean id="dataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <spring:property name="driverClassName" value="com.mysql.jdbc.Driver" />
                <spring:property name="url" value="jdbc:mysql://localhost:3306/eigDB" />
                <spring:property name="username" value="root" />
                <spring:property name="password" value="tiger" />
        </spring:bean>

        <spring:bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <spring:property name="dataSource" ref="dataSource" />
        <spring:property name="persistenceUnitName" value="autoRebateSystem" />
        <spring:property name="jpaVendorAdapter">
            <spring:bean
                class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <spring:property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" />
                <spring:property name="showSql" value="true" />
            </spring:bean>

但是 mule flow xml 无法识别任何类的 spring 框架。 很难替换那些类名。

请为我的问题提供解决方案, 通过让我知道骡工作室的正确替代品。

1) org.springframework.jdbc.datasource.DriverManagerDataSource
2) org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
3) org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter

【问题讨论】:

标签: spring hibernate jpa jpa-2.0 mule


【解决方案1】:

您是否缺少使用HibernateJpaDialectJpaTransactionManager; 希望下面的配置有用。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/yourdatabase"/>
    <property name="username" value="your- username"/>
    <property name="password" value="your- password"/>
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>


<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!--<property name="dataSource" ref="dataSource"/>-->
    <property name="persistenceUnitName" value="<your-persistunit-name>"/>
    <property name="jpaVendorAdapter" ref="jpaVendorAdapter"/>
    <property name="jpaDialect">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect/>
    </property>
    <property name="loadTimeWeaver">
        <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver">
        </bean>
    </property>
</bean>

<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="databasePlatform" value="org.eclipse.persistence.platform.database.MySQLPlatform"/>
<!--        <property name="databasePlatform" value="org.eclipse.persistence.platform.database.OraclePlatform" />-->
    <property name="generateDdl" value="false"/>
    <property name="showSql" value="false"/>
</bean>

【讨论】:

    【解决方案2】:

    要将其集成到 MuleStudio 中,请在 MuleStudio 中添加此更新站点:

    http://tecnologia.2020mobile.es/jpa-cloud-connector/update-site/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2016-10-12
      • 1970-01-01
      • 2012-09-30
      • 2020-01-10
      相关资源
      最近更新 更多