2017-01-05 30 views
-1

我在我的mule流中有一個java組件,它執行一些安全驗證。Mule流初始化時只加載一次Java類

並且每次從互聯網下載公鑰時,根據我使用的庫,庫本身緩存文件。但是我認爲,因爲我在mule流中的onCall()方法中使用了這個庫,它仍然會爲每條消息加載類。 (如果我理解的話)。所以最終每次都通過互聯網調用公鑰。

我想知道是否有其他方法onCall()我可以使用?或者還有其他方法可以採用嗎?

我實際上可以使用mule流本身下載文件一次,但目前我不想重構現有的類太多。

問候 大師

+0

檢查是否有幫助; https://docs.mulesoft.com/mule-user-guide/v/3.7/invoke-component-reference –

+0

好的,讓我試試看。 (onCall()的另一種替代方法) – gnanagurus

回答

0

您可以使用一個Spring bean,並讓Spring來管理它作爲一個單身

首先在流動XML文件中創建bean:

<spring:bean id="securityManager" scope="singleton" class="com.blah.la.di.da.SecurityManagerImpl" > 
<spring:constructor-arg name="dao" ref="backingDaoBean" /> 
</spring:bean> 

然後使用java組件,將對象定義爲Object,選擇core:spring-object類型,然後從Spring bean列表中選擇您定義的bean。

您仍然可以使用onCall()方法作爲入口點