2013-01-19 35 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