I implemented using the ResourceAsService wrapper as you suggested and it
works.  I think that ResourceAsService could be useful enough to be included
in tomee.

My ResourceAsService class is....

public class ResourceAsService {
        private String resourceId;

        public String getResourceId() {
                return resourceId;
        }

        public void setResourceId(String resourceId) {
                this.resourceId = resourceId;
        }
        
        public Object get() throws Exception {
                if (resourceId == null) {
                        throw new IllegalArgumentException("Please specify a 
resourceId");
                }
                
                return
SystemInstance.get().getComponent(ContainerSystem.class).getJNDIContext().lookup("openejb:Resource/"
+ resourceId);
        }

}

My resources.xml now looks like this...

<resources>
   
   <Resource id="myJAXBContextResource"
class-name="com.virginaustralia.service.GlobalJAXBContext"
factory-name="getJAXBContext"/>

   <Service id="myJAXBContextService"
class-name="au.com.cyberavenue.cxf.ResourceAsService" factory-name="get">
      resourceId = myJAXBContextResource
   </Service>
   
   <Service id="myJAXBDataBinding"
class-name="org.apache.cxf.jaxb.JAXBDataBinding" constructor="jaxbContext">
      jaxbContext = $myJAXBContextService
   </Service>
     
</resources> 

And my GlobalJAXBContext class has gone back to this...

public class GlobalJAXBContext {
        
        public static JAXBContext getJAXBContext() {
                try {
                        return JAXBContext.newInstance(new Class[] {
                                                        
com.virginaustralia.model.schema.utility.ObjectFactory.class,
                                                
com.virginaustralia.service.contract.departure_management.ObjectFactory.class
});
                } catch (JAXBException e) {
                        e.printStackTrace();
                }
                
                return null;
        }
}

and everything boots up quickly like before.  Thanks for the suggestion.

As for documentation...i would if i get time from my project.  Is there
documention on how to contribute?



--
View this message in context: 
http://openejb.979440.n4.nabble.com/Use-single-JAXBContext-for-multiple-web-services-tp4670019p4670024.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to