Hi Romain, Sorry I didn't get you. If you closely look at the code, I am using the EJBContainer. But I am getting an exception while running with Jersey. If your question was something else. Please let me know.
On Sat, Oct 19, 2013 at 5:51 PM, Romain Manni-Bucau <[email protected]>wrote: > Hi > > Why not using EJBContainer? > > Note: openejb embedded supports jaxrs through openejb-cxf-rs dependency > Le 19 oct. 2013 16:55, "Radhakrishna Kalyan" <[email protected]> a > écrit : > > > Hi > > > > Iam looking to develop a REST based webservice but I don't want to use > any > > application server. All I am looking is to start my application which in > > turn should start the http server with CDI along with Jax-RS. I felt > > OpenEJB is the right tool for this. > > > > I have used "com.sun.net.httpserver.HttpServer" as http server and Jersey > > for my Jax-RS implementation and now I would like to use OpenEJB for CDI. > > > > When I tried to write something like > > > > public static void main(String[] args) throws Exception { > > MyBootStrap bootStrap= new MyBootStrap(); > > Properties p = new Properties(); > > p.setProperty(Context.INITIAL_CONTEXT_FACTORY, > > "org.apache.openejb.client.LocalInitialContextFactory"); > > > > > p.setProperty("com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager", > > "true"); > > EJBContainer.createEJBContainer(p).getContext().bind("inject", > > bootStrap); > > > > HttpServer server = HttpServer.create(new > InetSocketAddress(9998), > > 0); > > HttpHandler sf = RuntimeDelegate.getInstance().createEndpoint(new > > ApplicationConfig(), HttpHandler.class); > > server.createContext("/", sf); > > server.start(); > > } > > > > > > But when I start my application then I am getting exception. > > java.lang.RuntimeException: javax.naming.NoInitialContextException: Need > > to specify class name in environment or system property, or as an applet > > parameter, or in an application resource file: > java.naming.factory.initial > > at > > > com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:196) > > at > > > com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:297) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > > org.apache.webbeans.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:295) > > at > > > org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:429) > > ...More > > > > Detail exception is attached as attachment. > > > > > > I am not understanding how to trigger the CDI while starting http server. > > > > Please give me some pointers if I am doing any wrong or if I should use > > any thing more. > > > > Thanks in advance. > > -- > > Thanks and Regards > > N Radhakrishna Kalyan > > > > P: +46 733 312 584 > > http://about.me/nrkkalyan > > <http://about.me/nrkkalyan> > > > > > -- Thanks and Regards N Radhakrishna Kalyan P: +46 733 312 584 http://about.me/nrkkalyan <http://about.me/nrkkalyan>
