openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard Petracek <gerhard.petra...@gmail.com>
Subject Re: Getting OpenWebBeans working in WebLogic 11g
Date Tue, 13 Mar 2012 08:31:53 GMT
hi mark,

openwebbeans-ee-common just contains 2 classes -> if chandra doesn't need
the other class, it's possible to just exclude the module at all.
-> the result is the same.

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2012/3/13 Mark Struberg <struberg@yahoo.de>

>
>
> Hi folks!
>
> OWB is modularly built. For making OWB usable in Java SE and simple
> Servlet Containers we have the ReadOnly JndiService configured. It's name
> is DefaultJndiService.
>
> But you are already using the
> org.apache.webbeans.ee.common.services.JNDIServiceEnterpriseImpl which is
> the JndiService implementation which uses _real_ JNDI.
>
>
> >bind not allowed in a ReadOnlyContext
>
> It's actually pretty weird that WebLogic doesn't allow to re-bind a value
> in it's JNDI store. But I'm used to that. JNDI is one big f****d up mess ...
>
> Please try the following:
> Create a file
>
>
> > META-INF/openwebbeans/openwebbeans.properties
>
> with the following content:
>
> #----------snip-------------
>
> # user config starts at 100, the higher, the more important
> configuration.ordinal=110
>
> #Default implementation of org.apache.webbeans.corespi.JNDIService.
>
> org.apache.webbeans.spi.JNDIService=org.apache.webbeans.corespi.se.DefaultJndiService
>
> #----------snip-------------
>
>
> This is switching OWB to use a HashMap backed JNDI fake impl. Please be
> aware that some internal OWB calls (like OWBs JMS or EJB plugins) might not
> be able to get the 'real' stuff anymore because that would need a real JNDI
> context.
>
> If you do need this, then you'd need to wrangle with WebLogic to allow
> JNDI access for OWB.
>
>
> Pleaes ping us again if it worked for you. Otherwise I'll ping a few
> Oracle folks I know and try to pull them into the discussion ;)
>
>
> hth.
>
> LieGrue,
> strub
>
>
>
> >________________________________
> > From: Gerhard Petracek <gerhard.petracek@gmail.com>
> >To: user@openwebbeans.apache.org
> >Sent: Tuesday, March 13, 2012 8:58 AM
> >Subject: Re: Getting OpenWebBeans working in WebLogic 11g
> >
> >
> >hi chandra,
> >
> >
> >in case of OWB-519 i didn't need all modules of owb -> please check if
> you really need this module.
> >
> >
> >regards,
> >gerhard
> >
> >http://www.irian.at
> >
> >Your JSF/JavaEE powerhouse -
> >JavaEE Consulting, Development and
> >Courses in English and German
> >
> >Professional Support for Apache MyFaces
> >
> >
> >
> >
> >2012/3/13 <alvaxyz-hibernate@yahoo.com>
> >
> >Thank you Gurgan.
> >>
> >>
> >>But as you can see from the path in this line:
>
> >>file:/C:/Users/test/eclipse/workspaces/2012_0226/.metadata/.plugins/org.eclipse.core.resources/.projects/OWBWL11gEAR/beadep/mydomain/OWBWL11gEAR/OWBWL11g.war/WEB-INF/beans.xml
> >>
> >>beans.xml was in WEB-INF.
> >>
> >>
> >>I tried by putting beans.xml in
> >>a) src/META-INF
> >>b) and in WebContent/WEB-INF
> >>
> >>
> >>It did not work.
> >>
> >>
> >>I am testing against WebLogic 10.3.6 (the latest in the 10.3.x series).
> >>FYI: I tried the MyFaces+WELD on WebLogic approach recommended here:
> >>http://jianmingli.com/wp/?p=4373
> >>
> >>
> >>It did not work either. Essentially Beans were not injected and Weld
> complained that it cannot start.
> >>
> >>
> >>Did any thing change between WebLogic 10.3.5 and 10.3.6?
> >>
> >>
> >>Can anybody please tell me which exact version of WebLogic this defect
> was worked against:
> >>https://issues.apache.org/jira/browse/OWB-519
> >>
> >>
> >>If I need to go to a lower version (like 10.3.4, 10.3.5) I can and once
> I get it working I can try to research what changed in WebLogic or at least
> where OWB is breaking in 10.3.6.
> >>
> >>
> >>The current symptom is:
> >>javax.naming.OperationNotSupportedException: bind not allowed in a
> ReadOnlyContext; remaining name 'BeanManager'
> >>
> >>
> >>Thanks,
> >>-Chandra
> >>
> >>
> >>--- On Mon, 3/12/12, Gurkan Erdogdu <cgurkanerdogdu@gmail.com> wrote:
> >>
> >>
> >>>From: Gurkan Erdogdu <cgurkanerdogdu@gmail.com>
> >>>Subject: Re: Getting OpenWebBeans working in WebLogic 11g
> >>>To: user@openwebbeans.apache.org, alvaxyz-hibernate@yahoo.com
> >>>Date: Monday, March 12, 2012, 2:47 AM
> >>>
> >>>
> >>>
> >>>Move META-INF/beans.xml to WEB-INF/beans.xml and try again! Remove
> META-INF/beans.xml.
> >>>
> >>>Gurkan
> >>>
> >>>
> >>>2012/3/12 <alvaxyz-hibernate@yahoo.com>
> >>>
> >>>Hi,
> >>>> I am trying to get OpenWebBeans 1.1.5 working in WebLogic 11g
> (10.3.6).
> >>>> I don't need any JSF (MyFaces) because I am trying to use this for
> writing Web Services.
> >>>>
> >>>> But I can bring in CODI if it is needed.
> >>>>
> >>>>===============================
> >>>>Jars in WebContent/WEB-INF/lib:
> >>>>===============================
> >>>>
> >>>>geronimo-atinject_1.0_spec-1.0.jar
> >>>>geronimo-interceptor_1.1_spec-1.0.jar
> >>>>geronimo-jcdi_1.0_spec-1.0.jar
> >>>>javassist.jar
> >>>>openwebbeans-ee-1.1.3.jar
> >>>>openwebbeans-ee-common-1.1.3.jar
> >>>>openwebbeans-ejb-1.1.3.jar
> >>>>openwebbeans-el10-1.1.3.jar
> >>>>openwebbeans-impl-1.1.3.jar
> >>>>openwebbeans-jms-1.1.3.jar
> >>>>openwebbeans-osgi-1.1.3.jar
> >>>>openwebbeans-resource-1.1.3.jar
> >>>>openwebbeans-spi-1.1.3.jar
> >>>>openwebbeans-web-1.1.3.jar
> >>>>scannotation-1.0.2.jar
> >>>>
> >>>>===============================
> >>>>WebContent/WEB-INF/web.xml
> >>>>===============================
> >>>>
> >>>><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>>>       xmlns="http://java.sun.com/xml/ns/javaee";
> >>>>       xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
> >>>>       xsi:schemaLocation="
> http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
> ";
> >>>>       id="WebApp_ID" version="2.5">
> >>>> <display-name>OWBWL11g</display-name>
> >>>> <welcome-file-list>
> >>>>   <welcome-file>index.html</welcome-file>
> >>>> </welcome-file-list>
> >>>>
> >>>> <listener>
> >>>>
>  <listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
> >>>> </listener>
> >>>>
> >>>> <!-- I ran with and without this resource-env-ref section -->
> >>>> <resource-env-ref>
> >>>>   <description>Object factory for the CDI Bean Manager</description>
> >>>>   <resource-env-ref-name>BeanManager</resource-env-ref-name>
> >>>>
>  <resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
> >>>> </resource-env-ref>
> >>>>
> >>>> <servlet>
> >>>>   <description></description>
> >>>>   <display-name>BookServlet</display-name>
> >>>>   <servlet-name>BookServlet</servlet-name>
> >>>>   <servlet-class>oracle.km.cdi.test.model.BookServlet</servlet-class>
> >>>> </servlet>
> >>>> <servlet-mapping>
> >>>>   <servlet-name>BookServlet</servlet-name>
> >>>>   <url-pattern>/BookServlet</url-pattern>
> >>>> </servlet-mapping>
> >>>>
> >>>></web-app>
> >>>>
> >>>>===============================
> >>>>Other files:
> >>>>===============================
> >>>>src/META-INF/openwebbeans/openwebbeans.properties
> >>>>src/META-INF/persistence.xml
> >>>>WebContent/WEB-INF/weblogic.xml (empty except for weblogic-verison and
> context-root).
> >>>>===============================
> >>>>
> >>>>I am getting the following exception:
> >>>>
> >>>>
> >>>><Mar 11, 2012 9:20:03 PM EDT> <Warning> <JMX> <BEA-149517>
<An attempt
> was made to unregister an mbean that was already
> >>>>unregistered:
> weblogic.servlet.internal.ServletRuntimeMBeanImpl@5f788551>
> >>>>Mar 11, 2012 9:20:50 PM
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle startApplication
> >>>>INFO: OpenWebBeans Container is starting...
> >>>>Mar 11, 2012 9:20:50 PM org.apache.webbeans.plugins.PluginLoader
> startUp
> >>>>INFO: Adding OpenWebBeansPlugin : [OpenWebBeansJmsPlugin]
> >>>>Mar 11, 2012 9:20:50 PM
> org.apache.webbeans.web.scanner.WebScannerService addWebBeansXmlLocation
> >>>>INFO: added beans.xml marker:
> file:/C:/Users/test/eclipse/workspaces/2012_0226/.metadata/.plugins/org.eclipse.core.resources/.projects/OWBWL11gEAR/beadep/mydomain/OWBWL11gEAR/OWBWL11g.war/WEB-INF/beans.xml
> >>>>Mar 11, 2012 9:20:50 PM org.apache.webbeans.util.JNDIUtil bind
> >>>>SEVERE: Unable to bind object with name : [java:comp/BeanManager]
> >>>>javax.naming.OperationNotSupportedException: bind not allowed in a
> ReadOnlyContext; remaining name 'BeanManager'
> >>>>       at
> weblogic.jndi.factories.java.ReadOnlyContextWrapper.newOperationNotSupportedException(ReadOnlyContextWrapper.java:145)
> >>>>       at
> weblogic.jndi.factories.java.ReadOnlyContextWrapper.newOperationNotSupportedException(ReadOnlyContextWrapper.java:161)
> >>>>       at
> weblogic.jndi.factories.java.ReadOnlyContextWrapper.bind(ReadOnlyContextWrapper.java:57)
> >>>>       at org.apache.webbeans.util.JNDIUtil.bind(JNDIUtil.java:69)
> >>>>       at
> org.apache.webbeans.ee.common.services.JNDIServiceEnterpriseImpl.bind(JNDIServiceEnterpriseImpl.java:44)
> >>>>       at
> org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:147)
> >>>>       at
> org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:127)
> >>>>       at
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:88)
> >>>>       at
> org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:85)
> >>>>       at
> weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
> >>>>       at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> >>>>       at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
> >>>>       at
> weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
> >>>>       at
> weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1868)
> >>>>       at
> weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3154)
> >>>>       at
> weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1518)
> >>>>       at
> weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)
> >>>>       at
> weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
> >>>>       at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
> >>>>       at
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
> >>>>       at
> weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
> >>>>       at
> weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
> >>>>       at
> weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
> >>>>       at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
> >>>>       at
> weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
> >>>>       at
> weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
> >>>>       at
> weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:671)
> >>>>       at
> weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
> >>>>       at
> weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
> >>>>       at
> weblogic.application.internal.EarDeployment.activate(EarDeployment.java:59)
> >>>>       at
> weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
> >>>>       at
> weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
> >>>>       at
> weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
> >>>>       at
> weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
> >>>>       at
> weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
> >>>>       at
> weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
> >>>>       at
> weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
> >>>>       at
> weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
> >>>>       at
> weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
> >>>>       at
> weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
> >>>>       at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
> >>>>       at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
> >>>>       at
> weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
> >>>>       at
> weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
> >>>>       at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
> >>>>       at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
> >>>>beginning the scanning process
> >>>>scanning type: testowb.cdi.util.EntityTransactionInterceptor
> >>>>scanning type: testowb.cdi.util.EntityTransactionInterceptor
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension$3
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension$1
> >>>>scanning type: testowb.cdi.test.model.BookFactory
> >>>>scanning type: testowb.cdi.test.model.BookServlet
> >>>>scanning type: testowb.cdi.test.model.Book
> >>>>scanning type: testowb.cdi.util.JTATransactionInterceptor
> >>>>scanning type: testowb.cdi.test.model.Init
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension$5
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension$4
> >>>>scanning type: testowb.cdi.util.PersistenceContextExtension$2
> >>>>scanning type: testowb.cdi.util.Transactional
> >>>>finished the scanning process
> >>>>Mar 11, 2012 9:20:50 PM org.apache.webbeans.config.BeansDeployer
> validateInjectionPoints
> >>>>INFO: All injection points were validated successfully.
> >>>>Mar 11, 2012 9:20:50 PM
> org.apache.webbeans.web.lifecycle.WebContainerLifecycle startApplication
> >>>>INFO: OpenWebBeans Container has started, it took [320] ms.
> >>>>
> >>>>
> >>>>I believe "bind not allowed in a ReadOnlyContext;" is similar to this
> problem Weld has with Tomcat:
> >>>>
> http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html/environments.html#d0e5259
> >>>>
> >>>>But I need a solution for WebLogic 11g similar to the
> META-INF/context.xml solution recommended there in Weld documentation.
> >>>>
> >>>>WebLogic shows that the application (EAR) is loaded and I can see it
> in WebLogic console.
> >>>>
> >>>>
> >>>>FYI:
> >>>>
> >>>>1) I did not add any jars to WebLogic itself or to its startup
> classpaths.
> >>>>2) The example is from
> http://seamframework.org/Documentation/WeldAndJPARunningInTomcat
> >>>>3) I need to get this working in WebLogic 11g ( I cannot use WebLogic
> 12c in the environment,
> >>>>CDI is built in to WebLogic 12c and I got the app already working in
> 12c).
> >>>>4) If possible I would like to get complete integration with EE
> injections (using Session Beans with CDI etc) - but I will settle for
> Servlet Container integration
> >>>>5) When I try to hit the Book Servlet, I get the following exception
> implying BookFactory is not injected in to the BookServlet.
> >>>>
> >>>>
> >>>>Error 500--Internal Server Error
> >>>>
> >>>>java.lang.NullPointerException
> >>>>       at testowb.cdi.test.model.BookServlet.doGet(BookServlet.java:39)
> >>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> >>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> >>>>
> >>>>
> >>>>Here is part of the BookServlet class:
> >>>>
> >>>>public class BookServlet extends HttpServlet {
> >>>>
> >>>> @Inject
> >>>> BookFactory bookFactory;
> >>>>
> >>>> protected void doGet(HttpServletRequest request, HttpServletResponse
> response) throws ServletException, IOException {
> >>>>       String author = request.getParameter("author");
> >>>>       String bookName = request.getParameter("bookName");
> >>>>       if (author != null && bookName != null ) {
> >>>>               bookFactory.getBook().setAuthor(author); //
> <=============== Line 39
> >>>>               bookFactory.getBook().setName(bookName);
> >>>>               Book toBeSaved = bookFactory.getBook();
> >>>>               bookFactory.saveBook();
> >>>>               ...
> >>>>       }
> >>>>       ...
> >>>> }
> >>>>}
> >>>>
> >>>>Thanks,
> >>>>-Chandra
> >>>>
> >>>>
> >>>
> >>>
> >>>--
> >>>Gurkan Erdogdu
> >>>http://gurkanerdogdu.blogspot.com
> >>>
> >
> >
> >
>

Mime
View raw message