2016-07-19 18 views
-3

SFTP 4.3ではうまくいきます。 SFTP 3.0は機能していません。 私は正しいMVN依存関係を提案してください。SFTPとスプリング3の統合

+0

何SFTPライブラリます( "SFTP" を使用しているだけの名前です特定の実装ではなく、プロトコルの)。現在どのような依存関係になっていますか? 「働いていない」とはどういう意味ですか?エラーメッセージが表示されますか?もしそうなら、エラーメッセージは何ですか? – Jesper

+0

以下の依存関係、xml、javaクラスを確認してください。 –

答えて

0

設定の下に確認してくださいと。..

-----依存性を示唆-----

<dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aspects</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>3.0.0.RELEASE</version> 
     </dependency> 

    <dependency> 
    <groupId>org.springframework.integration</groupId> 
    <artifactId>spring-integration-sftp</artifactId> 
    <version>3.0.8.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-core</artifactId> 
     <version>3.0.8.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-expression</artifactId> 
     <version>3.1.0.RELEASE</version> 
    </dependency> 

---のXml ---------- -

<context:property-placeholder location="classpath:META-INF/spring/sftpinbound.properties"/> 

    <bean id="sftpSessionFactory" class="org.springframework.integration.file.remote.session.CachingSessionFactory"> 
     <constructor-arg ref="defaultSftpSessionFactory" /> 
    </bean> 

    <bean id="defaultSftpSessionFactory" 
      class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory"> 
     <property name="host" value="${remote.host}"/> 
     <property name="port" value="${remote.port}"/> 
     <property name="user" value="${remote.user}"/> 
     <property name="password" value="${remote.password}"/> 
     <property name="allowUnknownKeys" value="true"/> 
    </bean> 

    <int-sftp:inbound-channel-adapter id="sftpAdapterAutoCreate" 
      session-factory="sftpSessionFactory" 
      channel="requestChannel" 
      filename-pattern="*.txt" 
      remote-directory="/foo/bar" 
      preserve-timestamp="true" 
      local-directory="file:target/foo" 
      auto-create-local-directory="true" 
      delete-remote-files="false"> 
</int-sftp:inbound-channel-adapter> 


<int:channel id="receiveChannel"> 
     <int:queue/> 
    </int:channel> 
---- Javaクラス----------

package consumer.sftp; 


import org.springframework.context.ConfigurableApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.integration.endpoint.SourcePollingChannelAdapter; 
import org.springframework.messaging.PollableChannel; 
import java.util.logging.Logger; 
import java.util.logging.Level; 

/** 
* 
* Transfers files from remote to local directory Using SFTP Inbound Channel 
* Adapter. 
*/ 
public class SftpInboundReceiveAdapterImpl implements SftpInboundReceiveAdapter{ 

    private static final Logger LOG = Logger.getLogger(SftpInboundReceiveAdapter.class.getName()); 

    /** 
    * DESCRIPTION : Receive the file from SFTP Remote-Directory to 
    * Local-Directory. 
    */ 

    public void inboundReceive() { 
     LOG.info(" Start :: inboundReceive "); 
     ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(
       "classpath:META-INF/spring/spring-na-rancid-parser.xml", this.getClass()); 
     try { 
      PollableChannel localFileChannel = context.getBean("receiveChannel", PollableChannel.class); 
      SourcePollingChannelAdapter adapter = context.getBean(SourcePollingChannelAdapter.class); 
      adapter.start(); 
      Message<?> received = localFileChannel.receive(); 
      LOG.info("Received first file message: " + received); 

     } catch (Exception e) { 
      LOG.log(Level.SEVERE, "", e); 
     } finally { 
      context.close(); 
     } 

    } 

} 

----------エラーログ-------------

ava.lang.IllegalStateException: Failed to load ApplicationContext 
    at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) 
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:333) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141) 
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112) 
    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:498) 
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) 
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165) 
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85) 
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) 
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/convert/converter/ConvertingComparator 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:946) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:890) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:671) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:401) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) 
    at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280) 
    at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304) 
    ... 30 more 
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/convert/converter/ConvertingComparator 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:72) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:938) 
    ... 43 more 
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/convert/converter/ConvertingComparator 
    at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.<clinit>(ReflectiveAspectJAdvisorFactory.java:74) 
    at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.<init>(AnnotationAwareAspectJAutoProxyCreator.java:53) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) 
    ... 45 more 
Caused by: java.lang.ClassNotFoundException: org.springframework.core.convert.converter.ConvertingComparator 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 52 more 
関連する問題