2016-05-11 10 views
0

私たちはWSO2 DSSを使用するソリューションを実装しています。 組織内の多くの俳優が公開されたインターフェイスを使用しているので、それを取り除きたくはありません。 以下は、すべてAWSにデプロイされているCassandraまたはDynamoDBに移行する予定です。 私たちは接続することができるので、私たちはブロック問題に直面しています。 私たちはv2より新しいjoda-timeライブラリバージョンを使用する必要があるAmazon SDKを使用することになっています アイテムを取得しようとすると、次の例外があります。WSO2 DSS - Cassandra/DynamoDb - 取得アイテム

java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter 

WSO2はこのライブラリの別のバージョンを使用しているためです。


WSO2のv.3.2.1
ジョダタイムv.2.8.1

感謝。

+0

私が知る限り、wso2 Data Services ServerではJoda Timeを使用していません。 –

答えて

0

私は同じ問題を抱えていますが、私はいくつかのテストをしましたが、実際にはジョーダン時間ライブラリの問題ではないと思います。

すべての依存関係を持つ組み立てられたjarファイルをコンパイルし、少なくとも1回は動作させるようにしました。私は$ WSO_INSTALATION_DIR /リポジトリ/コンポーネント/ libにと起動時にjarファイルをコピーし

mvn assembly:assembly 

のpom.xmlファイル構成の場合:

<build> 
    <plugins> 
     ... 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

としてjarファイルをコンパイルwso2サーバーとそれは動作します!

しかし、私はデータソースのコードを変更して再デプロイするときに問題があります。

私はlibの上で再びの.jarをコピーする場合、データソースのコードで私の最後の変更がないと私は/フォルダのlib/DROPINからjarファイルを削除した場合、私は次のエラーを取得:

java.lang.ClassCastException: org.wso2.dss.connectors.dynamodb.DynamoDBDataSource cannot be cast to org.wso2.carbon.dataservices.core.custom.datasource.CustomQueryBasedDS 

    at org.wso2.carbon.dataservices.core.description.config.InlineCustomQueryBasedDSConfig.<init>(InlineCustomQueryBasedDSConfig.java:66) 
    at org.wso2.carbon.dataservices.core.description.config.ConfigFactory.getCustomQueryConfig(ConfigFactory.java:143) 
    at org.wso2.carbon.dataservices.core.description.config.ConfigFactory.createConfig(ConfigFactory.java:73) 
    at org.wso2.carbon.dataservices.core.DataServiceFactory.createDataService(DataServiceFactory.java:137) 
    at org.wso2.carbon.dataservices.core.DBDeployer.createDBService(DBDeployer.java:764) 
    at org.wso2.carbon.dataservices.core.DBDeployer.processService(DBDeployer.java:1127) 
    at org.wso2.carbon.dataservices.core.DBDeployer.deploy(DBDeployer.java:178) 
    at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) 
    at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807) 
    at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) 
    at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) 
    at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) 
    at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:135) 
    at org.wso2.carbon.core.CarbonAxisConfigurator.loadServices(CarbonAxisConfigurator.java:464) 
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95) 
    at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65) 
    at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398) 
    at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219) 
    at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:77) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260) 
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146) 
    at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347) 
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620) 
    at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197) 
    at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343) 
    at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) 
    at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) 
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) 
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) 
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) 
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130) 
    at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433) 
    at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81) 
    at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60) 
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40) 
    at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1267) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassCastException: org.wso2.dss.connectors.dynamodb.DynamoDBDataSource cannot be cast to org.wso2.carbon.dataservices.core.custom.datasource.CustomQueryBasedDS 
    at org.wso2.carbon.dataservices.core.description.config.InlineCustomQueryBasedDSConfig.<init>(InlineCustomQueryBasedDSConfig.java:48) 
    ... 54 more 

この問題を解決するために役立つことを願っており、私は完全な解決策を見つけることを続けます。

EDITED:両方のジャーをのlibディレクトリ、アセンブルされたjar、およびno dependencies jarにコピーすると問題なく動作します。

関連する問題