将设置添加到Mule中的POJO组件

时间:2014-04-27 18:28:08

标签: java mule pojo

我有一个POJO组件,它基本上包含一些Java类。此时,我有一些硬编码的设置(例如一些凭据),我想通过Studio GUI在流程中以某种方式进行配置。

是否可以在流程中以某种方式存储一些可以由我的POJO组件轻松读取的设置?

2 个答案:

答案 0 :(得分:1)

我看到两个选项:

  1. 使用命令行中的-M-Dproperty将凭据设置为系统属性,并使用java.lang.System.getProperty(" property")
  2. 从POJO中检索它
  3. 在.properties文件中配置凭据,并从Mule Registry中的Property占位符中检索它们。您可以实现org.mule.api.context.MuleContextAware,或a Lookup annotation
  4. 另请阅读this

答案 1 :(得分:0)

我最终使用了这个解决方案。

  1. 将配置存储为全局属性:
  2. <global-property name="mysystem.username" value="JSmith" doc:name="Global Property"/>
    
    1. 使用POJO中的@Lookup注释来读取它:

      import org.mule.api.MuleContext;
      import org.mule.api.annotations.expressions.Lookup;
      
      
      public class MulePOJO {
      
      /* http://www.mulesoft.org/documentation/display/current/Lookup+Annotation*/
      @Lookup
      private MuleContext muleContext;
      
      public String singleArgumentMethod(String x)
      {
          String value = muleContext.getRegistry().get("mysystem.username");
      
          return  x;
      }
      }