Home » apache-openwebbeans-1.0.0-incubating-M3-sources » org.apache.webbeans.jms.component » [javadoc | source]

    1   /*
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    * 
    9    *       http://www.apache.org/licenses/LICENSE-2.0
   10    * 
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   package org.apache.webbeans.jms.component;
   18   
   19   import java.lang.reflect.Method;
   20   
   21   import javax.enterprise.context.spi.CreationalContext;
   22   import org.apache.webbeans.component.AbstractBean;
   23   import org.apache.webbeans.component.JmsBeanMarker;
   24   import org.apache.webbeans.component.WebBeansType;
   25   import org.apache.webbeans.context.creational.CreationalContextFactory;
   26   import org.apache.webbeans.jms.JMSModel;
   27   import org.apache.webbeans.jms.util.Closable;
   28   
   29   public class JmsBean<T> extends AbstractBean<T> implements JmsBeanMarker
   30   {
   31       private JMSModel jmsModel = null;
   32       
   33       @SuppressWarnings("unchecked")
   34       JmsBean(JMSModel jmsModel)
   35       {
   36           super(WebBeansType.JMS);        
   37           this.jmsModel = jmsModel;
   38           this.creationalContext = CreationalContextFactory.getInstance().getCreationalContext(this);
   39       }
   40   
   41       @Override
   42       protected T createInstance(CreationalContext<T> creationalContext)
   43       {
   44           return null;
   45       }
   46   
   47       @Override
   48       protected void destroyInstance(T instance)
   49       {        
   50           try
   51           {
   52               if(instance != null)
   53               {
   54                   Method method = Closable.class.getMethod("closeJMSObject", new Class[]{});
   55                   
   56                   method.invoke(instance, new Object[]{});                    
   57               }
   58           }
   59           
   60           catch (Exception e)
   61           {
   62               getLogger().error("Error is occured while closing jms instance",e); 
   63           }
   64   }
   65           
   66       public JMSModel getJmsModel()
   67       {
   68           return this.jmsModel;
   69       }
   70   }

Home » apache-openwebbeans-1.0.0-incubating-M3-sources » org.apache.webbeans.jms.component » [javadoc | source]