OC4J WorkManager / MultiThreading

Hi,
I want to use multiple server managed threads in OC4J 10.1.3.5.0. The best way seems to be a javax.resource.spi.work.WorkManager. Therefor I added the following line to server.xml as described in http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13976/workcont.htm#CIHCGFJJ
<work-manager-thread-pool min="10" max="100" queue="200" keepAlive="60000" debug="true" />
On server restart this line is dropped from server.xml without any comment, the described MBean does not exist.
In http://download.oracle.com/docs/cd/E14101_01/doc.1013/e13978/threadpool.htm#i1025473 I found a hint that the old statements <global-thread-pool> and <work-manager-thread-pool> are converted to the newer <thread-pool> statement on startup but I can not find any example how to use this thread-pool. Is there any example available how to use a server managed thread pool or multiple threads in general?
Thanks!
Kind regards,
Thomas

OC4J has no direct support for JSR-237 WorkManager API.
Could you schedule your jobs using the java.util.concurrent.ExecutorService. Or its predecessor edu.oswego.cs.dl.util.concurrent.Executor? We use the latter ourselves in the product to create scheduled tasks so I think the API should be there for you to use.
I had a blog post a while ago that showed how to use the java.util.concurrent.ScheduledExecutorService to create scheduled tasks.
http://buttso.blogspot.com/2008/06/scheduling-oc4j-periodic-tasks-using.html
-steve-

Similar Messages

  • Bursting with JAVA APIs / MultiThreading / Errors Handling

    We are trying to use the bursting JAVA APIs 10.1.3.3.1 Standalone) to burst huge XML files and generate PDF Files from RTF templates. Here are a list of our issues with this feature:
    1. We have some problems catching the errors when bursting. We have tried to use the "oracle.apps.xdo.common.log.Logger" class, but it is not always reacting like we think it should. Could you please give us an exemple of a clean bursting error catching or a brief description of how we could do it. We have a lot of difficulties to find information about using the JAVA APIs of BIP.
    2. Is it a clean way of catching the bursting errors to use the "oracle.apps.xdo.common.log.Logger" class?
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?

    1. Check tim d. blog, you can use the bursting listners to get the errors. It's also in the documentation.
    First, on every exception, the Bursting APIs are dumping the error in the Logger. So I can't see how we can use the listeners to catch these. We can check the hasExceptions on the Logger but still, we have some problems with this. When we deploy our application as a MDB (Message driven bean), it seems that once the hasException flag has been raised, if we call the MDB again, it is still up. Is there documentation about that Logger class? Also, I'm worried that we won't be able to call our MDB twice to run simultaneously 2 different bursting process since it seems the Logger is something static, keeping every exception in memory... That's bad.. And show me where you have found documentation about this. All I see in documentation is how to call the DocumentProcessor in a couple of lines. I don't see anything about a clean way to catch errors.
    2. Yes/No/Depends. I think it's fine. If your changing the logger options in your program that could come back to haunt you.
    I guess so, I'm not changing anything and its already haunting me...
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    Even worst, when we deploy the component has an MDB, when the error happens, it kills the whole oc4j container... please correct this quick.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?
    We got an answer from the dev team which is to add two properties to the document processor, something like:
    enable-multithreading: true
    thread-count: >2
    We did that and what we got is that the process started and it got stuck in a dead lock at the first document processing. How nice! :)
    We got a milestone in March and I'm really worried about all those problems... Not enough documentation, a pretty bad error handling, errors making crash the whole oc4j container, Logger seems not to be handling simultaneous calls/ threads, not even handling two subsequent calls... etc.
    If anyone has the magic answer, it would be pretty welcomed!
    Thanks

  • Deploying multiple apps on OC4J

    I am wondering what are "best practices" for deploying multiple applications using the standalone OC4J server. I was thinking of using one OC4J instance to deploy J2EE applications, but was recently informed that if any of the applications raise an unhandled exception or has memory leaks, then all applications will fail or slow down. Can I get some documentation or suggestions on how to approach this? Thanks in advance. Dan

    Yes, it is possible (and common) to run multiple WLS instances on the same physical hardware.
              It is also possible to run multiple applications within WLS.
              There are trade-offs both ways. WLS does offer some features to better allow isolation within the server. Specifically WLS 6.x and later allow configuring separate thread pools (and sizing them based on application priority). WLS 9.x supports this and a variety of further extensions based on WorkManager. I'd suggest searching for those topics in our docs.
              -- Rob
              WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Partner application single sign-on and Oc4j

    hello,
    I'm trying to test portal's partner application single sign-on, following the examples inside the "Oracle9 iAS Single Sign-On Application Developers Guide":
    With Tomcat as jsp engine everything works fine, but with Oc4j when I try to enter the protected jsp page i have this exception:
    oracle.security.sso.enabler.SSOEnablerException: java.lang.IllegalStateException: OutputStream already retrieved
         at SSOEnablerBean.getSSOUserInfo(SSOEnablerBean.java:153)
         at SSOEnablerJspBean.getSSOUserInfo(SSOEnablerJspBean.java:57)
         at /protetta.jsp._jspService(/protetta.jsp.java:37) (JSP page line 4)
    Any suggestion?
    Thanks in advance.

    I get the same problem with my partner application. It runs fine on JServer but I get the following problem on oc4j:
    oracle.security.sso.enabler.SSOEnablerException: java.lang.IllegalStateException: OutputStream already retrieved     
    at oracle.br.aerochain.sso.SSOEnablerBean.getSSOUserInfo(SSOEnablerBean.java, Compiled Code)     
    at oracle.br.aerochain.sso.SSOEnablerJspBean.getSSOUserInfo(SSOEnablerJspBean.java, Compiled Code)     
    at /jsp/papp.jsp._jspService(/jsp/papp.jsp.java, Compiled Code)     
    at com.orionserver[Oracle9iAS (9.0.2.0.0) Containers for J2EE].http.OrionHttpJspPage.service(OrionHttpJspPage.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpApplication.serviceJSP(HttpApplication.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.JSPServlet.service(JSPServlet.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java, Compiled Code)     at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java, Compiled Code)     
    at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for J2EE].util.ThreadPoolThread.run(ThreadPoolThread.java, Compiled Code)
    Did anyone get a solution for this?
    TIA

  • How can I use a 3rd party XML parser such as xerces with OC4J ?

    Hi all tech experts,
    I am using Oracle Application Server 10g Release 2 (10.1.2) and i have
    installed Portal and Wireless and OracleAS Infrastructure on the same
    computer.
    i tried all the solutions on this thread
    Use of Xerces Parser in out application with Oracle App Server 9.0.4
    but still fighting.
    I have also posted this query on OTN on following thread
    How can I use a 3rd party XML parser such as xerces with OC4J?
    but no reply....
    Please help me on this issue.
    Since OC4J is preconfigured to use the Oracle XML parser which is xmlparserv2.jar.
    i have read the following article which states that
    OC4J is preconfigured to use the Oracle XML parser. The Oracle XML parser is fully JAXP 1.1 compatible and will serve the needs of applications which require JAXP functionality. This approach does not require the download, installation, and configuration of additional XML parsers.
    The Oracle XML parser (xmlparserv2.jar) is configured to load as a system level library of OC4J through it's inclusion as an entry in the Class-Path entry of the oc4j.jar Manifest.mf file. This results in the Oracle XML parser being used for all common deployment and packaging situations. You are not permitted to modify the Manifest.mf file of oc4j.jar.
    It must be noted that configuring OC4J to run with any additional XML parser or JDBC library is not a supported configuration. We do know customers who have managed to successfully replace the system level XML parser and the Oracle JDBC drivers that ship with the product, but we do not support this type of configuration due to the possibility of unexpected system behavior and system errors that might occur from replacing the tested and certified libraries.
    If you absolutely must use an additional XML parser such as xerces, then you have to start OC4J such that the xerces.jar file is loaded at a level above the OC4J system classpath. This can be accomplished using the -Xbootclasspath flag of the JRE.
    i have also run the following command
    java -Xbootclasspath/a:d:\xerces\xerces.jar -jar oc4j.jar
    but no success.
    How could i utilize my jar's like xerces.jar and xalan.jar for parsing instead of OC4J in-built parser ?
    All reply will be highly appreciated.
    Thnx in advance to all.
    Neeraj Sidhaye
    try_catch_finally @ Y !

    Hi Neeraj Sidhaye,
    I am trying to deploy a sample xform application to the Oracle Application Server (10.1.3). However, I encountered the class loader issue that is similar to your stuation. I tried all the three solutions but the application is still use the Oracle xml paser class. I am wondering if you have any insight about this?
    Thanks for your help.
    Xingsheng Qian
    iPass Inc.
    Here is the error message I got.
    Message:
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
    Stack Trace:
    org.chiba.xml.xforms.exception.XFormsException: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
         at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
         at org.chiba.xml.xforms.Container.dispatch(Unknown Source)
         at org.chiba.xml.xforms.Container.initModels(Unknown Source)
         at org.chiba.xml.xforms.Container.init(Unknown Source)
         at org.chiba.xml.xforms.ChibaBean.init(Unknown Source)
         at org.chiba.adapter.servlet.ServletAdapter.init(ServletAdapter.java:153)
         at org.chiba.adapter.servlet.ChibaServlet.doGet(ChibaServlet.java:303)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassCastException: oracle.xml.parser.v2.XMLElement
         at org.chiba.xml.xforms.Instance.iterateModelItems(Unknown Source)
         at org.chiba.xml.xforms.Bind.initializeModelItems(Unknown Source)
         at org.chiba.xml.xforms.Bind.init(Unknown Source)
         at org.chiba.xml.xforms.Initializer.initializeBindElements(Unknown Source)
         at org.chiba.xml.xforms.Model.modelConstruct(Unknown Source)
         at org.chiba.xml.xforms.Model.performDefault(Unknown Source)
         at org.chiba.xml.xforms.XFormsDocument.performDefault(Unknown Source)
         at org.chiba.xml.xforms.XFormsDocument.dispatchEvent(Unknown Source)
         at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source)
         ... 18 more

  • Error while running web application through JDEV (10.1.3.0.3) in OC4J

    Error while running web application through JDEV (10.1.3.0.3) in OC4J.
    Here is the error message.
    07/10/02 14:45:28 Exception in thread "OC4J Launcher" oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: javax.xml.bind.JAXBContext
         Dependent class: com.oracle.corba.ee.impl.orb.config.InternalSettingsORBConfigImpl
         Loader: oc4j:10.1.3
         Code-Source: /C:/jdev/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar
    The missing class is not available from any code-source or loader in the server.
    07/10/02 14:45:28      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2073) [C:/jdev/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1681) [C:/jdev/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1633) [C:/jdev/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1618) [C:/jdev/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@7]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap]
         at com.oracle.corba.ee.impl.orb.config.InternalSettingsORBConfigImpl.init (InternalSettingsORBConfigImpl.java:46) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.oracle.corba.ee.impl.orb.config.SunRIORBConfigImpl.init (SunRIORBConfigImpl.java:97) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.oracle.iiop.server.IIOPServerExtensionProvider.configureOrb (IIOPServerExtensionProvider.java:26) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.oracle.corba.ee.impl.orb.ORBServerExtensionProviderImpl.preInitApplicationServer (ORBServerExtensionProviderImpl.java:45) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.ApplicationServer.serverExtensionPreInit (ApplicationServer.java:1031) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.ApplicationServer.setConfig (ApplicationServer.java:861) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.ApplicationServerLauncher.run (ApplicationServerLauncher.java:98) [C:/jdev/j2ee/home/lib/oc4j-internal.jar (from <code-source> in boot.xml in C:\jdev\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [jre bootstrap, by jre.bootstrap]

    Hi,
    The guide you were refering was pointing to 10.1.2 wizards.
    For the latest 10.1.3 tutorial, please follow the below tutorial link :
    http://www.oracle.com/technology/products/jdev/101/tutorials/WS/WSandAScontrol.htm
    Hope this helps,
    Sunil..

  • Error while running a trusted application in OC4J

    I have created a trusted application to access the CDB and I can directly run this application in the Embedded OC4J and get the right result. The login code is :
    public ManagersFactory loginCDB(){
    FdkCredential credential = new S2SFdkCredential(
    "orcladmin" , "orclapplicationcommonname=s2stestapplication,cn=ifs,cn=products,cn=oraclecontext",
    "welcome1", null);
    try {
    session = ManagersFactory.login(credential, CDBURL);
    Item user = session.getUser(null);
    s_Logger.log("Connected user: "+LoggingUtils.log(user));
    s_Logger.log(session.getUserManager().toString());
    catch (FdkException e) {
    s_Logger.log(e);
    return session;
    But when I deploy this application to the Local/Remote OC4J and access this application by web, the error is shown as below:
    java.lang.RuntimeException:java.lang.RuntimeException: Unknown exception. See cause.
    java.lang.RuntimeException: Unknown exception. See cause.
         at oracle.ifs.fdk.client.impl.AxisRemoteManagersFactory.handleException(AxisRemoteManagersFactory.java:1271)
         at oracle.ifs.fdk.client.impl.AxisRemoteManagersFactory.<init>(AxisRemoteManagersFactory.java:326)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:214)
         at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:121)
         at oracle.ifs.fdk.ManagersFactory.login(ManagersFactory.java:84)
         at oracle.l360.cdb.S2SLoginUtil.loginCDB(S2SLoginUtil.java:43)
         at view.backing.LearningActivity.getCdbFileList(LearningActivity.java:152)
         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:585)
         at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:99)
         at oracle.adfinternal.view.faces.model.FacesPropertyResolver.getValue(FacesPropertyResolver.java:92)
         at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
         at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
         at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
         at javax.faces.component.UIData.getValue(UIData.java:547)
         at org.apache.myfaces.component.html.ext.HtmlDataTableHack.createDataModel(HtmlDataTableHack.java:437)
         at org.apache.myfaces.component.html.ext.HtmlDataTableHack.getDataModel(HtmlDataTableHack.java:414)
         at org.apache.myfaces.component.html.ext.HtmlDataTableHack.getRowCount(HtmlDataTableHack.java:87)
         at org.apache.myfaces.custom.datalist.HtmlListRenderer.encodeChildren(HtmlListRenderer.java:120)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721)
         at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:465)
         at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:253)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:721)
         at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:629)
         at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:566)
         at com.sun.faces.taglib.html_basic.PanelGridTag.doEndTag(PanelGridTag.java:460)
         at mdssys.viewcontroller._public__html._LearningActivity_jspx._jspService(_LearningActivity_jspx.java:317)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:598)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:522)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.mds.jsp.MDSJSPFilter.doFilter(Unknown Source)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:286)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:192)
         at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:197)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
         at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:620)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl
         at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
         at org.apache.axis.client.Call.invoke(Call.java:1820)
         at oracle.ifs.fdk.SessionManagerSoapBindingStub.getCurrentUser(SessionManagerSoapBindingStub.java:365)
         at oracle.ifs.fdk.client.impl.AxisRemoteManagersFactory.<init>(AxisRemoteManagersFactory.java:319)
         ... 88 more
    Caused by: java.lang.ClassCastException: org.apache.axis.attachments.AttachmentsImpl
         at org.apache.axis.Message.setup(Message.java:341)
         at org.apache.axis.Message.<init>(Message.java:243)
         at org.apache.axis.client.Call.invoke(Call.java:2406)
         at org.apache.axis.client.Call.invoke(Call.java:2347)
         at org.apache.axis.client.Call.invoke(Call.java:1804)
         ... 90 more
    How can I resolve this problem? Do I need to config the OC4J server?
    Thanks.
    Message was edited by:
    user564999

    I am a little new to library management in this environment. I am also doing CDB Development and since the libraries are different from what is bundled with JDeveloper 10.1.3.x, I am curious, how did you end up dealing with the library conflicts in a production environment?
    Also, I was under the impression that libraries defined in the application and included in the deploy (ear file) would take presidence over the "global" libraries. Is this not correct?
    Thanks in advance,
    Steve

  • Error connecting to an EJB 3.0 Remote on OC4J 10.1.3.2 from Tomcat

    Hi, I want to connect to a Remote Session Bean running on the OC4J 10.1.3 and it doesn´t work.
    I have connected to it from a java standalone application using:
    public static void main(String [] args) {
    try {
    final Context context = getInitialContext();
    SessionEJB sessionEJB = (SessionEJB)context.lookup("java:comp/env/ejb/SessionEJB");
    System.out.println(sessionEJB.mergeEntity(""));
    System.out.println( "hola" );
    } catch (Exception ex) {
    ex.printStackTrace();
    private static Context getInitialContext() throws NamingException {
    Hashtable env = new Hashtable();
    // Standalone OC4J connection details
    env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.naming.ApplicationClientInitialContextFactory" );
    env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
    env.put( Context.SECURITY_CREDENTIALS, "passw" );
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/ejb3jar");
    return new InitialContext( env );
    with this application-client.xml file:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <application-client xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    <display-name>Model-app-client</display-name>
    <ejb-ref>
    <ejb-ref-name>ejb/SessionEJB</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>ar.com.eds.ejb3.model.SessionEJB</remote>
    <ejb-link>SessionEJB</ejb-link>
    </ejb-ref>
    thats works fine, but when I try to use the same solution from a jsf proyect running on a Tomcat 5.5.20, it fails with this error:
    Caused by: java.lang.RuntimeException: Error while creating home.
         at ar.com.mcd.fawkes.ui.locator.EJB3Locator.get(EJB3Locator.java:32)
         at ar.com.mcd.fawkes.ui.locator.ServiceLocator$1.get(ServiceLocator.java:12)
         at net.sf.opentranquera.web.jsf.locator.ServiceLocatorBean.get(ServiceLocatorBean.java:42)
         at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
         at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
         at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
         at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
         ... 80 more
    Caused by: javax.naming.NameNotFoundException: Name ejb is not bound in this Context
         at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
         at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136)
         at javax.naming.InitialContext.lookup(Unknown Source)
         at ar.com.mcd.fawkes.ui.locator.EJB3Locator.get(EJB3Locator.java:28)
         ... 87 more
    Could you please help me with any tip?
    Mauricio
    Message was edited by:
    Mauricio

    Hi, Rick
    Thanks for your help.
    I deleted de application-client.xml file, added the following lines to the web.xml file:
         <ejb-ref>
              <ejb-ref-name>ejb/SessionEJB</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <remote>ar.com.eds.ejb3.model.SessionEJB</remote>
         </ejb-ref>
    and now I´m using oracle.j2ee.rmi.RMIInitialContextFactory
    there is no error, and it doesn´t throw any exception but the following line returns null.
    SessionEJB sessionEJB = (SessionEJB)context.lookup("java:comp/env/ejb/SessionEJB");
    Its seems the lookup method finds the remote ejb because it doesn´t fail, but it returns null.
    Any idea what is wrong?
    Mauricio.

  • Error while invoking a Web service deployed on OC4J from Oracle BPEL

    Hi,
    I had created a web service from a simple java class using JDeveloper and deployed that on OC4J which had emmited a wsdl for the web service. On the same AS my BPEL processing is deployed in which i had created a partner link by using 1st option (i.e Browse WSDL files from local file system) and invoking the published method of the java class.I am expecting that the method of the class which is deployed as web service will be executed and i will get the return of the method as the response of the invoke activity , but i am getting this error :
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="summary">
    <summary>when invoking locally the endpoint 'http://localhost:8080/MyIM-JavaCustomerFactory-context-root/JavaCustFactory', ; nested exception is: ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "JavaCustFactory" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</summary>
    </part>
    <part name="detail">
    <detail>ORABPEL-02052 Cannot lookup BPEL domain. The BPEL domain "JavaCustFactory" cannot be found; the domain may not have initialized properly. Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.</detail>
    </part>
    </remoteFault>
    It seems that the Invoke activity is not able to get the WebService and it is asking for some settings , if any clue regarding this pls reply.
    I can also give the wsdl also.
    mail me at [email protected]

    Hi,
    Thanx it is working now.
    BTW can you give me some urls with info of this kind of setting which i need to do for other kind of integarions in J2EE platform.Sorry if i am asking too much as i am a starter in this technology.

  • Solaris: OC4J: 9.0.2.0.0 or 9.0.3.0.0

    I'm a bit puzzled as to versioning of oc4j running applications created with Jdeveloper RC2 / BI Beans RC2 .
    I downloaded a file called oc4j_extended.zip (of 25. March).
    I would have thought this to be the latest distro of oc4j.
    When I invoke the oc4j.jar, I receive a message like this:
    "Oracle9iAS (9.0.2.0.0) Containers for J2EE initialized"
    I see other people are running version 9.0.3.0.0, and most Jdeveloper references are for this version as well.
    Is there a later version (for Solaris) that I need to download/install?
    If so, where can it be found?
    Or am I fine running with the one I have?
    (Reason for asking is that I am running into problems that could possibly be related to versioning.)
    Jens

    Thanks for quick response, I am located in Norway, 6 hours in front of the US, so days can easily be "wasted" waiting for you guys. Maybe we'll manage to squeeze in 2 answers today ;-)
    Here are the answers to your question:
    myhost% java -version -jar oc4j.jar
    java version "1.3.1_01"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
    Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
    myhost% java -jar oc4j.jar -version
    Oracle9iAS (9.0.2.0.0) Containers for J2EE
    myhost% java -jar ./oc4j.jar -version
    Oracle9iAS (9.0.2.0.0) Containers for J2EE
    This is a bit complicated, but here's a quick resume of what I did:
    * Install Oracle 9.0.1.0.0, including the http-server.
    * Patch to 9.0.1.2.0
    * download oc4j_extended, unzip to a new $ORACLE_HOME/oc4j
    * Source the following file:
    myhost% more java131.sh
    setenv PATH /usr/j2se/bin:/u01/app/oracle/product/901/bin:/bin:/usr/bin:/usr/cc
    /bin:/etc:/opt/bin:/usr/ucb:.:/usr/openwin/bin:/usr/openwin/lib
    setenv CLASS_PATH /usr/j2se/lib:/u01/app/oracle/jre/1.1.8/lib:/u01/app/oracle/p
    oduct/901/jlib:/u01/app/oracle/product/901/wmt/jlib
    setenv CLASSPATH /usr/j2se/lib:/u01/app/oracle/jre/1.1.8/lib:/u01/app/oracle/pr
    duct/901/jlib:/u01/app/oracle/product/901/wmt/jlib
    alias java="/usr/j2se/bin/java"
    myhost%
    * Check that the right java verson is running:
    myhost% which java
    /usr/j2se/bin/java
    myhost%
    * start the oc4j server with :
    java -Xmx256m -Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB -Dorg.omg.COR
    BA.ORBSingletonClass=com.inprise.vbroker.orb.ORB -jar oc4j.jar
    And it reports back v. 9.0.2.0.0
    So what am I doing wrong?
    Any input will be appreciated.
    Jens

  • OC4J: marshalling does not recreate the same data structure onthe client

    Hi guys,
    I am trying to use OC4J as an EJB container and have come across the following problem, which looks like a bug.
    I have a value object method that returns an instance of ArrayList with references to other value objects of the same class. The value objects have references to other value objects. When this structure is marshalled across the network, we expect it to be recreated as is but that does not happen and instead objects get duplicated.
    Suppose we have 2 value objects: ValueObject1 and ValueObject2. ValueObject1 references ValueObject2 via its private field and the ValueObject2 references ValueObject1. Both value objects are returned by our method in an ArrayList structure. Here is how it will look like (number after @ represents an address in memory):
    Object[0] = com.cramer.test.SomeVO@1
    Object[0].getValueObject[0] = com.cramer.test.SomeVO@2
    Object[1] = com.cramer.test.SomeVO@2
    Object[1].getValueObject[0] = com.cramer.test.SomeVO@1
    We would expect to see the same (except exact addresses) after marshalling. Here is what we get instead:
    Object[0] = com.cramer.test.SomeVO@1
    Object[0].getValueObject[0] = com.cramer.test.SomeVO@2
    Object[1] = com.cramer.test.SomeVO@3
    Object[1].getValueObject[0] = com.cramer.test.SomeVO@4
    It can be seen that objects get unnecessarily duplicated – the instance of the ValueObject1 referenced by the ValueObject2 is not the same now as the instance that is referenced by the ArrayList instance.
    This does not only break referential integrity, structure and consistency of the data but dramatically increases the amount of information sent across the network. The problem was discovered when we found that a relatively small but complicated structure that gets serialized into a 142kb file requires about 20Mb of network communication. All this extra info is duplicated object instances.
    I have created a small test case to demonstrate the problem and let you reproduce it.
    Here is RMITestBean.java:
    package com.cramer.test;
    import javax.ejb.EJBObject;
    import java.util.*;
    public interface RMITestBean extends EJBObject
    public ArrayList getSomeData(int testSize) throws java.rmi.RemoteException;
    public byte[] getSomeDataInBytes(int testSize) throws java.rmi.RemoteException;
    Here is RMITestBeanBean.java:
    package com.cramer.test;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import java.util.*;
    public class RMITestBeanBean implements SessionBean
    private SessionContext context;
    SomeVO someVO;
    public void ejbCreate()
    someVO = new SomeVO(0);
    public void ejbActivate()
    public void ejbPassivate()
    public void ejbRemove()
    public void setSessionContext(SessionContext ctx)
    this.context = ctx;
    public byte[] getSomeDataInBytes(int testSize)
    ArrayList someData = getSomeData(testSize);
    try {
    java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
    java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
    objectOutputStream.writeObject(someData);
    objectOutputStream.flush();
    System.out.println(" serialised output size: "+byteOutputStream.size());
    byte[] bytes = byteOutputStream.toByteArray();
    objectOutputStream.close();
    byteOutputStream.close();
    return bytes;
    } catch (Exception e) {
    System.out.println("Serialisation failed: "+e.getMessage());
    return null;
    public ArrayList getSomeData(int testSize)
    // Create array of objects
    ArrayList someData = new ArrayList();
    for (int i=0; i<testSize; i++)
    someData.add(new SomeVO(i));
    // Interlink all the objects
    for (int i=0; i<someData.size()-1; i++)
    for (int j=i+1; j<someData.size(); j++)
    ((SomeVO)someData.get(i)).addValueObject((SomeVO)someData.get(j));
    ((SomeVO)someData.get(j)).addValueObject((SomeVO)someData.get(i));
    // print out the data structure
    System.out.println("Data:");
    for (int i = 0; i<someData.size(); i++)
    SomeVO tmp = (SomeVO)someData.get(i);
    System.out.println("Object["+Integer.toString(i)+"] = "+tmp);
    System.out.println("Object["+Integer.toString(i)+"]'s some number = "+tmp.getSomeNumber());
    for (int j = 0; j<tmp.getValueObjectCount(); j++)
    SomeVO tmp2 = tmp.getValueObject(j);
    System.out.println(" getValueObject["+Integer.toString(j)+"] = "+tmp2);
    System.out.println(" getValueObject["+Integer.toString(j)+"]'s some number = "+tmp2.getSomeNumber());
    // Check the serialised size of the structure
    try {
    java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
    java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
    objectOutputStream.writeObject(someData);
    objectOutputStream.flush();
    System.out.println("Serialised output size: "+byteOutputStream.size());
    objectOutputStream.close();
    byteOutputStream.close();
    } catch (Exception e) {
    System.out.println("Serialisation failed: "+e.getMessage());
    return someData;
    Here is RMITestBeanHome:
    package com.cramer.test;
    import javax.ejb.EJBHome;
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    public interface RMITestBeanHome extends EJBHome
    RMITestBean create() throws RemoteException, CreateException;
    Here is ejb-jar.xml:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <description>Session Bean ( Stateful )</description>
    <display-name>RMITestBean</display-name>
    <ejb-name>RMITestBean</ejb-name>
    <home>com.cramer.test.RMITestBeanHome</home>
    <remote>com.cramer.test.RMITestBean</remote>
    <ejb-class>com.cramer.test.RMITestBeanBean</ejb-class>
    <session-type>Stateful</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    And finally the application that tests the bean:
    package com.cramer.test;
    import java.util.*;
    import javax.rmi.*;
    import javax.naming.*;
    public class RMITestApplication
    final static boolean HARDCODE_SERIALISATION = false;
    final static int TEST_SIZE = 2;
    public static void main(String[] args)
    Hashtable props = new Hashtable();
    props.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    props.put(Context.PROVIDER_URL, "ormi://lil8m:23792/alexei");
    props.put(Context.SECURITY_PRINCIPAL, "admin");
    props.put(Context.SECURITY_CREDENTIALS, "admin");
    try {
    // Get the JNDI initial context
    InitialContext ctx = new InitialContext(props);
    NamingEnumeration list = ctx.list("comp/env/ejb");
    // Get a reference to the Home Object which we use to create the EJB Object
    Object objJNDI = ctx.lookup("comp/env/ejb/RMITestBean");
    // Now cast it to an InventoryHome object
    RMITestBeanHome testBeanHome = (RMITestBeanHome)PortableRemoteObject.narrow(objJNDI,RMITestBeanHome.class);
    // Create the Inventory remote interface
    RMITestBean testBean = testBeanHome.create();
    ArrayList someData = null;
    if (!HARDCODE_SERIALISATION)
    // ############################### Alternative 1 ##############################
    // ## This relies on marshalling serialisation ##
    someData = testBean.getSomeData(TEST_SIZE);
    // ############################ End of Alternative 1 ##########################
    } else
    // ############################### Alternative 2 ##############################
    // ## This gets a serialised byte stream and de-serialises it ##
    byte[] bytes = testBean.getSomeDataInBytes(TEST_SIZE);
    try {
    java.io.ByteArrayInputStream byteInputStream = new java.io.ByteArrayInputStream(bytes);
    java.io.ObjectInputStream objectInputStream = new java.io.ObjectInputStream(byteInputStream);
    someData = (ArrayList)objectInputStream.readObject();
    objectInputStream.close();
    byteInputStream.close();
    } catch (Exception e) {
    System.out.println("Serialisation failed: "+e.getMessage());
    // ############################ End of Alternative 2 ##########################
    // Print out the data structure
    System.out.println("Data:");
    for (int i = 0; i<someData.size(); i++)
    SomeVO tmp = (SomeVO)someData.get(i);
    System.out.println("Object["+Integer.toString(i)+"] = "+tmp);
    System.out.println("Object["+Integer.toString(i)+"]'s some number = "+tmp.getSomeNumber());
    for (int j = 0; j<tmp.getValueObjectCount(); j++)
    SomeVO tmp2 = tmp.getValueObject(j);
    System.out.println(" getValueObject["+Integer.toString(j)+"] = "+tmp2);
    System.out.println(" getValueObject["+Integer.toString(j)+"]'s some number = "+tmp2.getSomeNumber());
    // Print out the size of the serialised structure
    try {
    java.io.ByteArrayOutputStream byteOutputStream = new java.io.ByteArrayOutputStream();
    java.io.ObjectOutputStream objectOutputStream = new java.io.ObjectOutputStream(byteOutputStream);
    objectOutputStream.writeObject(someData);
    objectOutputStream.flush();
    System.out.println("Serialised output size: "+byteOutputStream.size());
    objectOutputStream.close();
    byteOutputStream.close();
    } catch (Exception e) {
    System.out.println("Serialisation failed: "+e.getMessage());
    catch(Exception ex){
    ex.printStackTrace(System.out);
    The parameters you might be interested in playing with are HARDCODE_SERIALISATION and TEST_SIZE defined at the beginning of RMITestApplication.java. The HARDCODE_SERIALISATION is a flag that specifies whether Java serialisation should be used to pass the data across or we should rely on OC4J marshalling. TEST_SIZE defines the size of the object graph and the ArrayList structure. The bigger this size is the more dramatic effect you get from data duplication.
    The test case outputs the structure both on the server and on the client and prints out the size of the serialised structure. That gives us sufficient comparison, as both structure and its size should be the same on the client and on the server.
    The test case also demonstrates that the problem is specific to OC4J. The standard Java serialisation does not suffer the same flaw. However using the standard serialisation the way I did in the test case code is generally unacceptable as it breaks the transparency benefit and complicates interfaces.
    To run the test case:
    1) Modify provider URL parameter value on line 15 of the RMITestApplication.java for your environment.
    2) Deploy the bean to the server.
    4) Run RMITestApplication on a client PC.
    5) Compare the outputs on the server and on the client.
    I hope someone can reproduce the problem and give their opinion, and possibly point to the solution if there is one at the moment.
    Cheers,
    Alexei

    Hi,
    Eugene, wrong end user recovery.  Alexey is referring to client desktop end user recovery which is entirely different.
    Alexy - As noted in the previous post:
    http://social.technet.microsoft.com/Forums/en-US/bc67c597-4379-4a8d-a5e0-cd4b26c85d91/dpm-2012-still-requires-put-end-users-into-local-admin-groups-for-the-purpose-of-end-user-data?forum=dataprotectionmanager
    Each recovery point has users permisions tied to it, so it's not possible to retroacively give the users permissions.  Implement the below and going forward all users can restore their own files.
    This is a hands off solution to allow all users that use a machine to be able to restore their own files.
     1) Make these two cmd files and save them in c:\temp
     2) Using windows scheduler – schedule addperms.cmd to run daily – any new users that log onto the machine will automatically be able to restore their own files.
    <addperms.cmd>
     Cmd.exe /v /c c:\temp\addreg.cmd
    <addreg.cmd>
     set users=
     echo Windows Registry Editor Version 5.00>c:\temp\perms.reg
     echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection]>>c:\temp\perms.reg
     FOR /F "Tokens=*" %%n IN ('dir c:\users\*. /b') do set users=!users!%Userdomain%\\%%n,
     echo "ClientOwners"=^"%users%%Userdomain%\\bogususer^">>c:\temp\perms.reg
     REG IMPORT c:\temp\perms.reg
     Del c:\temp\perms.reg
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT]
    This posting is provided "AS IS" with no warranties, and confers no rights.

  • JBO-25222 while connecting to a OC4J container

    Hi,
    i create a simple BC4J Project with JDev 9 and tested it locally and it works fine.
    After deploying it to OC4J 9.0.2 i create a new Configuration and try to run the Client again, but
    now the code
    String am = "de.orb.server.orbModule_cm";
    String cf = "orbModuleEJB";
    appModul = (orbModule)Configuration.createRootApplicationModule(am,cf);
    fails with the Exception below.
    Can someone give my a hint, whats going wrong? We gave the user all Java Permissions in the database,
    but i think the applications fails before.
    Thanks in advance
    Mirko
    Diagnostics: (BC4J Bootstrap) Routing diagnostics to standard output (use -Djbo.debugoutput=silent to remove)
    [00] Diagnostic Properties: Timing:false Functions:false Linecount:true Threshold:6
    [01] CommonMessageBundle (language base) being initialized
    [02] Stringmanager using default locale: 'null'
    [03] BC4J Property jbo.maxpoolcookieage='-1' -->(MetaObjectManager) from System Default
    [04] Loading 5.0 IDE classes
    [05] Creating a new pool resource
    [06] BC4JDeployPlatform: EjbIas
    [07] CSMessageBundle (language base) being initialized
    [08] JavaVMVersion: 9.0.2.579 cdov
    [09] JavaVMVendor: Oracle Corp.
    [10] JavaVMName: OJVM Client VM
    [11] OperatingSystemName: Windows NT
    [12] OperatingSystemVersion: 4.0
    [13] OperatingSystemUsername: wolf
    [14] Jbo323Compatible Flag: false, str: null
    [15] Registered Oracle JDBC driver with BC4J Server
    [16] oracle.jbo.JboException: JBO-25222: Unable to create application module.
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(java.util.Hashtable)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule (oracle.jbo.common.ampool.SessionCookie, oracle.jbo.common.ampool.EnvInfoProvider)
         java.lang.Object oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(java.util.Properties)
         java.lang.Object oracle.jbo.pool.ResourcePool.createResource(java.util.Properties)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(oracle.jbo.common.ampool.SessionCookie)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(oracle.jbo.common.ampool.SessionCookie, boolean)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean, long)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule()
         oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String, oracle.jbo.common.ampool.EnvInfoProvider)
         oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String)
         void de.orb.net.CommunicationLayer.connectToApplicationModule()
         de.pantarhei.datacarrier.DataCarrier de.orb.net.CommunicationLayer.getPanelData(int)
         void de.orb.MainFrame.jbInit()
         void de.orb.MainFrame.<init>(java.lang.String)
         void de.orb.MainApplication.<init>(java.lang.String[])
         void de.orb.MainApplication.main(java.lang.String[])
    ## Detail 0 ##
    javax.naming.NameNotFoundException: de.orb.server.orbModule not found
         java.lang.Object com.evermind.server.rmi.RMIContext.lookup(java.lang.String)
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
         void oracle.jbo.client.remote.ejb.ias.AmHomeImpl.remoteLookup()
         void oracle.jbo.client.remote.ejb.ias.AmHomeImpl.initRemoteHome()
         void oracle.jbo.client.remote.ejb.ias.AmHomeImpl.<init>(oracle.jbo.JboContext, java.lang.String)
         oracle.jbo.common.JboHome oracle.jbo.client.remote.ejb.ias.InitialContextImpl.createJboHome(java.lang.String)
         java.lang.Object oracle.jbo.common.JboInitialContext.lookup(java.lang.String)
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(java.util.Hashtable)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(oracle.jbo.common.ampool.SessionCookie, oracle.jbo.common.ampool.EnvInfoProvider)
         java.lang.Object oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(java.util.Properties)
         java.lang.Object oracle.jbo.pool.ResourcePool.createResource(java.util.Properties)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(oracle.jbo.common.ampool.SessionCookie)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(oracle.jbo.common.ampool.SessionCookie, boolean)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean, long)
    oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean)
         oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule()
         oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String, oracle.jbo.common.ampool.EnvInfoProvider)
         oracle.jbo.ApplicationModule oracle.jbo.client.Configuration.createRootApplicationModule(java.lang.String, java.lang.String)
         void de.orb.net.CommunicationLayer.connectToApplicationModule()
         de.pantarhei.datacarrier.DataCarrier de.orb.net.CommunicationLayer.getPanelData(int)
         void de.orb.MainFrame.jbInit()
         void de.orb.MainFrame.<init>(java.lang.String)
         void de.orb.MainApplication.<init>(java.lang.String[])
         void de.orb.MainApplication.main(java.lang.String[])
    ...

    Typically this is from a library not being present in your deployment env.
    To solve this I copy the entire Jdev tree to the production/test boxes, which include
    jdev/j2ee/... the oc4j home stuff.
    Have a look in j2ee/home/config/applications.xml for all the libs that are included into
    OC4J at run time.
    It's easier to just put the whole tree on the deploy box.
    But if you must just pick out j2ee/home then grabe ALL the shown jars in application.xml
    and drop into j2ee/home/lib
    and all should work too.
    Good luck,
    curt

  • Error message in opmn OC4J log for my BPEL cluster setup

    I am settings up my 2 nodes BPEL cluster in the same subnet, i prepared my jgroups-protocols.xml as:
    <config>
    <UDP mcast_send_buf_size="32000"
    mcast_port="45788"
    ucast_recv_buf_size="64000"
    mcast_addr="228.8.15.24"
    receive_on_all_interfaces="true"
    loopback="true"
    mcast_recv_buf_size="64000"
    max_bundle_size="48000"
    max_bundle_timeout="30"
    use_incoming_packet_handler="false"
    use_outgoing_packet_handler="false"
    ucast_send_buf_size="32000"
    ip_ttl="32"
    enable_bundling="false"/>
    <PING timeout="2000"
    num_initial_members="3"/>
    <MERGE2 max_interval="10000"
    min_interval="5000"/>
    <FD timeout="2000"
    max_tries="3"
    shun="true"/>
    <VERIFY_SUSPECT timeout="1500"/>
    <pbcast.NAKACK max_xmit_size="8192"
    use_mcast_xmit="false"
    gc_lag="50"
    retransmit_timeout="600,1200,2400,4800"/>
    <UNICAST timeout="1200,2400,3600"/>
    it is same as the default file, the configuration is same in both nodes, however, in OC4J log, i found it return the address is already in use:
    zed adaptors for platform 'ias_10g'
    Feb 22, 2008 2:58:17 PM org.collaxa.thirdparty.jgroups.protocols.UDP createSockets
    INFO: sockets will use interface 0.0.0.0
    08/02/22 14:58:17 java.lang.Exception: exception caused by UDP.start(): java.net.SocketException: Address already in use
    08/02/22 14:58:17 at org.collaxa.thirdparty.jgroups.stack.Protocol.handleSpecialDownEvent(Protocol.java:600)
    08/02/22 14:58:17 at org.collaxa.thirdparty.jgroups.stack.DownHandler.run(Protocol.java:117)
    <2008-02-22 14:58:18,453> <INFO> <collaxa> <ServerManager::uninit> Shutting down all domains
    <2008-02-22 14:58:18,453> <INFO> <collaxa> <ServerManager::uninit> Done shutting down all domains
    <QuartzPublisherInit::init> Notification Retry publisher scheduled at every 15 minute(s)
    08/02/22 14:59:18 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    what is the problem ? how to fix it ?
    thanks.

    Hi,
    Remove "receive_on_all_interfaces" and set bind_to_all_interfaces=false i think.
    It might not be exactly what you want to do, but read up on those parameters on the internet on Jgroups.

  • OC4J Application Server - InstantiationException

    Error : java.lang.InstantiationException: Error initializing ejb-modules: message-destination-mapping tag with missing 'location' attribute
    HI All,
    Hope someone can help me with the following error. I've got a ear file which deploys 100% correct, and the application can run successfully after deploying. But if I stop and start the container, then i get the following exception, the container starts up but the application does not start successfully.
    Oracle Container start-up exception:
    09/05/11 09:17:15 Start process
    Listening for transport dt_socket at address: 8688
    0.000: [GC [PSYoungGen: 43776K->4394K(51008K)] 43776K->4394K(517056K), 0.0290830 secs]
    3.295: [GC [PSYoungGen: 48170K->7220K(51008K)] 48170K->8371K(517056K), 0.0499300 secs]
    6.817: [GC [PSYoungGen: 50996K->7218K(51008K)] 52147K->13636K(517056K), 0.0504670 secs]
    09/05/11 09:17:28 WARNING: Application.setConfig Application: stf-7.0.1 is in failed state as initialization failed.
    java.lang.InstantiationException: Error initializing ejb-modules: message-destination-mapping tag with missing 'location' attribute
    09/05/11 09:17:29 Oracle Containers for J2EE 10g (10.1.3.2.0) initialized
    29.062: [GC [PSYoungGen: 50994K->7226K(51008K)] 57412K->15785K(517056K), 0.0436860 secs]
    32.675: [GC [PSYoungGen: 51002K->7228K(50880K)] 59561K->16729K(516928K), 0.0346460 secs]
    We use jdk1.5, Ejb3 and Oracle 10.1.3
    We use message driven beans, for which we create an ejb-jar.xml that looks as follow:
    Start
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
         <!-- OC4J EJB-JAR.XML for UDSWSConServices -->
         <display-name>vss-ejb</display-name>
         <enterprise-beans>
              <message-driven>
                   <display-name>VSSAdvancedQueueBatchBeanMDB</display-name>
                   <ejb-name>VSSAdvancedQueueBatchBean</ejb-name>
                   <ejb-class>
                        za.globed.varsite.hebs.bsi.services.ejb.VSSAdvancedQueueBatchBean
                   </ejb-class>
                   <transaction-type>Bean</transaction-type>
                   <message-destination-type>
                        javax.jms.Queue
                   </message-destination-type>
                   <message-destination-link>
                        jms/batchQueue
                   </message-destination-link>
                   <activation-config>
                        <activation-config-property>
                             <activation-config-property-name>
                                  acknowledgeMode
                             </activation-config-property-name>
                             <activation-config-property-value>
                                  Auto-acknowledge
                             </activation-config-property-value>
                        </activation-config-property>
                        <activation-config-property>
                             <activation-config-property-name>
                                  destinationType
                             </activation-config-property-name>
                             <activation-config-property-value>
                                  javax.jms.Queue
                             </activation-config-property-value>
                        </activation-config-property>
                        <activation-config-property>
                             <activation-config-property-name>
                                  subscriptionDurability
                             </activation-config-property-name>
                             <activation-config-property-value>
                                  NonDurable
                             </activation-config-property-value>
                        </activation-config-property>
                        <activation-config-property>
                             <activation-config-property-name>
                                  messageSelector
                             </activation-config-property-name>
                             <activation-config-property-value>
                                  Destination =
                                  'za.globed.varsite.hebs.bsi.services.VSSAdvancedQueueBatchBean'
                             </activation-config-property-value>
                        </activation-config-property>
                   </activation-config>
              </message-driven>
         </enterprise-beans>
         <assembly-descriptor>
              <container-transaction>
                   <method>
                        <ejb-name>VSSAdvancedQueueBatchBean</ejb-name>
                        <method-name>*</method-name>
                   </method>
                   <trans-attribute>Supports</trans-attribute>
              </container-transaction>
              <message-destination>
                   <display-name>
                        Destination for VSSAdvancedQueueBatchBean
                   </display-name>
                   <message-destination-name>
                        jms/batchQueue
                   </message-destination-name>
              </message-destination>
         </assembly-descriptor>
    </ejb-jar>
    -- end --
    Any help or suggestions would be much appreciated.
    Thanks
    Nina

    I would advise you to use the latest version - 10.1.3.5 - i remember some issues with 10.1.3.4.
    For certifications see here:
    http://www.oracle.com/technetwork/middleware/ias/downloads/oracle-soa-certification-101310-097492.html
    You have two options to bypass the check:
    * Use ignore : runinstaller -ignoresysprereqs
    http://onlineappsdba.com/index.php/2008/11/24/upgrade-oracle-application-server-to-10134-10g-r3-patchset-4/
    * Or change in the installers file that lists the allowed versions - you can search for the numbers listed in your error dialog

  • Logging HTTP and/or SOAP packets in standalong OC4J v10.1.3.2

    I'm running OC4J standalone v10.1.3.2 on RH5 linux. I'd like to know how to turn on logging so that all incoming HTTP data can be viewed.
    I've basically got a Web Service which is failing to execute from some clients (but not all) due to a SOAP11 version mismatch problem. If I could see the incoming HTTP and/or SOAP request then I could determine where the inconsistency is coming from.
    Here's an extract of the returned SOAP error:
    <faultcode>env:VersionMismatch</faultcode>
    <faultstring>Version Mismatch</faultstring>
    <faultactor>http://schemas.xmlsoap.org/soap/actor/next</faultactor>
    I've tried editing j2ee-logging.xml and set the logging level to FINEST and TRACE but it's still not logging out the HTTP traffic.
    Any ideas welcomed,
    Thanks

    Andy,
    Which log files are you looking at? There is a server.log that will be impacted when you set the logging level to FINEST. Since you want to look at http requests, have you considered using Fiddler on the client side? It's pretty verbose but you can see all sorts of info including data posted to forms.
    -Michael
    PS
    URL:
    http://www.oracle.com/technology/tech/java/oc4j/htdocs/oc4j-logging-debugging-technote.htmlTake a look at the "Debug Options in OC4J" section. There are several HTTP debugging options listed.
    Edited by: Michael F. Hardy on Dec 17, 2008 9:40 AM

Maybe you are looking for

  • Connection timeout after 7.6.4

    I recently updated my time capsule to version 7.6.4.  Immediately after that my MacBook would not connect to my network and constantly says connection timeout.  I have reset the SMC have rebooted everything at least twice.  I have reset the settings

  • To assign Screen Variant for VL02N to respective user.

    Hi Experts, I have created one Screen Variant for TCode VL02N. It is very well working if executing with SHD0. Now, I want that, if any particular user say XYZ executes VL02N, then VL02N should be executed with the variant I created, for that user. P

  • Problems installing photoshop

    I have lost the plastic card with the redemption code. I still have the receipt for my purchase. Can I still install photoshop

  • ISH Cost center allocation NCOP

    Hi there, Using transaction NCOP I have set up cost centers linked to organizational units.  I have a requirement to assign organizational units to different cost centres based on validity dates.  For example, org unit C5 is assigned to cost center C

  • HT1766 How i can open my Iphone when it was closed & ask me to connect to Ituns

    My Iphone it was closed i forget the password now it ask me connect to ituns tell me how i can open it