2016-03-14 100 views
2

我的應用程序正在使用春季啓動開發的,這個應用程序還讀取信箱,這個信箱的閱讀部分是用Spring集成框架實現。加密郵件密碼

我需要加密在此應用程序中使用的所有密碼。我正在使用Jasypt庫(http://www.jasypt.org/)進行此加密。所有密碼加密工作正常,,除了郵件密碼

問題:即,郵件密碼原樣發送(,未解密)。所以,郵件驗證失敗。

代碼涉及到所有其他的密碼只使用春天開機,所以只有一個應用程序上下文存在。 但是,單獨郵件閱讀部分是通過使用Spring集成框架實現的。這個配置是使用xml文件完成的,這個xml文件創建了第二個應用程序上下文。因此,密碼解密爲不可訪問爲這第二個應用程序上下文。裏面1應用程序上下文存在

Jasypt庫相關的加密代碼。

將Spring集成的下方基於XML的配置轉換爲基於Java的配置解決這個問題? (因爲只有一個應用程序上下文)。 如果是的話,任何人都可以(之前的Java版本8)提供的Java配置爲以下相當於

<beans> 
    <int:channel id="receiveChannel" /> 
    <mail:inbound-channel-adapter id="pop3ShouldDeleteTrue" 
            store-uri="${mail.pop3.user.folder.uri}" 
         channel="receiveChannel" 
         should-delete-messages="false" 
         should-mark-messages-as-read="true" 
         auto-startup="true" 
         java-mail-properties="javaMailProperties"> 

     <int:poller max-messages-per-poll="1" fixed-rate="${actor.email.polling.interval}"> 
     </int:poller> 
    </mail:inbound-channel-adapter> 
    <context:property-placeholder location="file:./application-${env}.properties" local-override="true" /> 
    <util:properties id="javaMailProperties"> 
     <prop key="${mail.socketFactory}">false</prop> 
     <prop key="mail.debug">false</prop> 
     <prop key="mail.store.protocol">${mail.store.protocol}</prop> 
    </util:properties> 
</beans> 

回答

1

爲什麼在第二個應用程序上下文?

您可以使用@ImportResource在Spring啓動應用程序的XML拉到主引導環境。

爲一個例子見here

如果你想轉換成Java配置,this answer有一個例子。

+0

謝謝加里。第一種方法正在爲我工​​作:-) –