이 콘텐츠는 선택한 언어로 제공되지 않습니다.

1.20. Configuring Bean Contexts


  1. To have the contents of the bean context returned at the end of a Smooks.filterSource process, supply a org.milyn.delivery.java.JavaResult object in the call to the Smooks.filterSource method.

    Example 1.1. 

    // Get the data to filter
    StreamSource source = new StreamSource(getClass().getResourceAsStream("data.xml"));
    
    // Create a Smooks instance (cachable)
    Smooks smooks = new Smooks("smooks-config.xml");
    
    // Create the JavaResult, which will contain the filter result after filtering
    JavaResult result = new JavaResult();
    
    // Filter the data from the source, putting the result into the JavaResult
    smooks.filterSource(source, result);
    
    // Getting the Order bean which was created by the Javabean cartridge
    Order order = (Order)result.getBean("order");
    
    Copy to Clipboard Toggle word wrap
  2. To access the bean contexts at start-up, specify this in the BeanContext object. You can retrieve it from the ExecutionContext via the getBeanContext() method.

    Example 1.2. 

    // Create a bean to pass on to the Smooks execution context
    HashMap<String,Object> transformConfig = new HashMap<String,Object>();
    transformConfig.put("Version", new Integer(1));    
    
    // Get the data to filter
    StreamSource source = new StreamSource(getClass().getResourceAsStream("data.xml"));
     
    // Create a Smooks instance (cachable)
    Smooks smooks = new Smooks("smooks-config.xml");
     
    // Create the JavaResult, which will contain the filter result after filtering
    JavaResult result = new JavaResult();
    
    // Add bean to Smooks execution context
    executionContext.getBeanContext().addBean("transformConfig", transformConfig);
    
    // Filter the data from the source, putting the result into the JavaResult
    smooks.filterSource(source, result);
     
    // Getting the Order bean which was created by the JavaBean cartridge
    Order order = (Order)result.getBean("order");
    
    Copy to Clipboard Toggle word wrap
  3. When adding or retrieving objects from the BeanContext make sure you first retrieve a beanId object from the beanIdStore. The beanId object is a special key that ensures higher performance than string keys, although string keys are also supported.
  4. You must retrieve the beanIdStore from the ApplicationContext using the getbeanIdStore() method.
  5. To create a beanId object, call the register("beanId name") method. If you know that the beanId is already registered, then you can retrieve it by calling the getbeanId("beanId name") method.
  6. beanId objects are ApplicationContext-scoped objects. Register them in your custom visitor implementation's initialization method and then put them in the visitor object as properties. You can then use them in the visitBefore and visitAfter methods. The beanId objects and the beanIdStore are thread-safe.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat