2013-01-19 32 views
0

我想使用云数据源将基于Web的WAR部署到CloudFoundry中。Cloud Foundry + JPA + Spring + EntityManager

我已经定义了一个bean是这样的:

 <cloud:data-source id="dataSource"/>  
     <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
      <property name="dataSource" ref="dataSource"/> 
      <property name="persistenceUnitName" value="myPersistenceUnit" /> 
      <property name="jpaVendorAdapter"> 
        <bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter"> 
        <property name="showSql" value="true"/> 
        <property name="generateDdl" value="true"/> 

        </bean> 
      </property>   
     </bean> 
    </beans> 

....但是当我尝试部署我得到一个Java代理例外:无指定的LoadTimeWeaver

无法应用级变压器但是我不能指定Java代理没有上传罐仪器代理.....

任何解决方案?

回答

1

我不是那熟悉的EclipseLink,所以我甚至不能确定的是,韦弗需求来自的EclipseLink,但这样做将部署应用程序作为一个独立的应用程序的

的一种方式(周围部署你自己的tomcat),这样你可以把额外的编织器罐放在lib/。 看一看http://blog.cloudfoundry.org/2012/06/18/deploying-tomcat-7-using-the-standalone-framework/https://github.com/ericbottard/cloudfoundry-tomcat-7

另外,如果你只有一个数据源,就能避免由刚刚上传你的正常应用程序,并使用特定cloudfoundry-<cloud:datasource />命名空间在这里有云铸造自动重新配置您的应用程序(信息:http://blog.springsource.org/2011/11/04/using-cloud-foundry-services-with-spring-part-2-auto-reconfiguration/)事实上,这可能是让EclipseLink在Cloud Foundry上无缝工作的方式(我的猜测是这样)

当然,还可以切换到另一个不需要class仪器,但有点极端。

再次,我不是一个Eclipse链接大师,所以我可能失去了一些东西......

+0

谢谢EBottard .... – Azimuts

+0

谢谢EBottard .... – Azimuts