2017-05-08 5 views
0

Frühling Boot-Anwendung bekommen Fehler für eingehende SFTP-AdapterVerursacht durch: java.lang.IllegalArgumentException: Evaluation darf nicht null

Fehler Bean mit dem Namen 'sftpMessageSource_DebitNotification_SE' definiert in com.canaldigital.tsi.bank.xml zu schaffen. config.BankFtpListner: Aufruf der init-Methode fehlgeschlagen; verschachtelte Ausnahme ist java.lang.IllegalArgumentException: evaluationContext darf nicht null sein org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen von Bean mit dem Namen 'sftpMessageSource_DebitNotification_SE' definiert in com.canaldigital.tsi.bank.xml.config.BankFtpListner: Invocation der Init-Methode fehlgeschlagen; verschachtelte Ausnahme ist java.lang.IllegalArgumentException: Evaluation darf nicht bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1578) bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory null sein. doCreateBean (AbstractAutowireCapableBeanFactory.java:545) bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482) bei org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java : 306) bei org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) bei org.springframework.beans.factory.support.AbstractBeanFactor y.doGetBean (AbstractBeanFactory.java:302) bei org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197) bei org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory. Java: 772) bei org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:839) bei org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:538) bei org.springframework. boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:118) bei org.springframework.boot.SpringApplication.refresh (SpringApplication.java:766) bei org.springframework.boot.SpringAppli cation.createAndRefreshContext (SpringApplication.java:361) bei org.springframework.boot.SpringApplication.run (SpringApplication.java307) bei org.springframework.boot.builder.SpringApplicationBuilder.run (SpringApplicationBuilder.java:134) bei com.canaldigital.tsi.core.CoreRunner.run (CoreRunner.java:29) bei com.canaldigital.tsi.bank.xml.App.main (App.java:18) verursacht durch: java.lang.IllegalArgumentException: Evaluation darf nicht bei org.springframework.util.Assert.notNull (Assert.java:115) bei org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.afterPropertiesSet (AbstractInboundFileSynchronizer.java:154) bei org null sein .springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchro nizingMessageSource.afterPropertiesSet (AbstractInboundFileSynchronizingMessageSource.java:151) bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1637) bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory. java: 1574) ... 16 weitere

public SessionFactory<LsEntry> sftpSessionFactory_listener() { 
    DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(); 

    System.out.println("sftp host is::" + env.getProperty("sftp.host")); 
    factory.setPrivateKey(sftpKeyResourceAdapter()); 
    factory.setHost(env.getProperty("sftp.host")); 
    factory.setUser(env.getProperty("sftp.username")); 
    factory.setPort(Integer.valueOf(env.getProperty("sftp.serverPort"))); 
    logger.debug("SFTP Session:::"+factory.getSession().isOpen()); 
    return new CachingSessionFactory<LsEntry>(factory); 
} 

public SftpInboundFileSynchronizer sftpInboundFileSynchronizer_DebitNotification_SE() { 
    SftpInboundFileSynchronizer debitFileSynchronizer = new SftpInboundFileSynchronizer(sftpSessionFactory_listener()); 
    logger.debug("sftpInboundFileSynchronizer_DebitNotification_SE Starts"); 
    debitFileSynchronizer.setDeleteRemoteFiles(true); 
    try { 
     debitFileSynchronizer.setRemoteDirectory(remot); 
     CompositeFileListFilter<LsEntry> debitFilters = new CompositeFileListFilter<>(); 
     debitFilters.addFilter(new AcceptOnceFileListFilter()); 

     debitFilters.addFilter(new SftpSimplePatternFileListFilter(ibs2BankConfigDAO.getApplicationConfiguration().get(
       "SE_CAMT_054d_FILE_NAME_PATTERN"))); 

     debitFilters.addFilter(lastModifiedFileFilter()); 

     debitFileSynchronizer.setFilter(debitFilters); 

    } catch (IBS2BankException e) { 
     logger.error("Error creating sftpInboundFileSynchronizer_DebitNotification_SE::" + e.getMessage()); 
    } catch (Exception e) { 
     logger.debug("Error is:::"+e.getMessage()); 
    } 

    return debitFileSynchronizer; 
} 

@InboundChannelAdapter(value = "bankRequestListenerDebitNotification_SE", poller = @Poller(fixedDelay = "10000")) 
@Bean 
public MessageSource<File> sftpMessageSource_DebitNotification_SE() { 
    logger.debug("sftpMessageSource_DebitNotification_SE Starts"); 
    SftpInboundFileSynchronizingMessageSource source = new SftpInboundFileSynchronizingMessageSource(
      sftpInboundFileSynchronizer_DebitNotification_SE()); 
    logger.debug("sftpMessageSource_DebitNotification_SE Starts1"); 
    source.setAutoCreateLocalDirectory(true); 
    source.setLocalDirectory(new File("/ibs2bank/Temp_Download/Nordea/CAMT054D/SE")); 
    logger.debug("sftpMessageSource_DebitNotification_SE Starts2"); 
    logger.debug("sftpMessageSource_DebitNotification_SE Starts3"); 
    source.setLocalFilter(new AcceptOnceFileListFilter<File>()); 
    logger.debug("sftpMessageSource_DebitNotification_SE Starts4"); 
    return source; 
} 

@Bean 
public PollableChannel bankRequestListenerDebitNotification_SE() { 
    return new QueueChannel(); 

} 
+0

Jeder konfrontiert dieses Problem als noch nicht in der Lage, die Ursache –

+0

Ihre Frage, um herauszufinden, ist eine Frage nicht enthalten. Ziemlich paradox. –

Antwort

0

Schauen Sie sich die Fehlermeldung:

Fehler bean mit Namen zu schaffen ' sftpMessageSource_DebitNotification_SE 'in com.abc.tsi.bk.xml.config definiert.BankFtpListner: Aufruf der Initialisierungsmethode fehlgeschlagen; verschachtelte Ausnahme ist java.lang.IllegalArgumentException: Evaluation nicht null sein muss

ist klar, wenn die Bohne sftpMessageSource_DebitNotification_SE, eine NULL-Prüfung eines Parameters aufgerufen zu schaffen versucht evaluationContext gescheitert.

So sollte man sich:

public MessageSource<File> sftpMessageSource_DebitNotification_SE() { 
SftpInboundFileSynchronizingMessageSource source = new SftpInboundFileSynchronizingMessageSource(
     sftpInboundFileSynchronizer_DebitNotification_SE()); 
source.setAutoCreateLocalDirectory(true); 
source.setLocalDirectory(new File("/ibs2bank/Temp_Download/Nordea/CAMT054D/SE")); 
source.setLocalFilter(new AcceptOnceFileListFilter<File>()); 
return source; 

}

source wahrscheinlich ein Attribut namens hat evaluationContext, dass Sie nicht festgelegt haben, noch injizieren.

+0

Ich weiß, etwas ist erforderlich und wird als null gesetzt, aber evaluationContext ist nicht mein Attribut, es ist etwas, das zum Frühling gehört. –

+0

@MuhammadAmirHaif Sie am stacktrace schauen müssen, um zu sehen, welche Methode die Illegal warf und suchen, was das Evaluation ist und wie sie festgelegt werden konnte. Sie haben nicht genug Informationen in Ihrer Frage angegeben. –

+0

Ich habe die Frage mit dem Detailfehler aktualisiert –

Verwandte Themen