Clustering, ServletContext

Is there no way to insure that ServletContext is propagated across a cluster
          in Weblogic 6.1 sp1 without using another product? I am trying to make a
          cache of some data that will be available to all servlets in a cluster The
          JNDI tree is not an option due to performance, and Session is out due to
          limited scope.
          My company will most likely refuse to invest in a companion product in order
          to accomplish this goal (I already read the post where Tangosol Coherence is
          suggested as a solution). Any suggestions greatly appreciated.
          Chris Lumpkin
          Java Developer
          agilquest
          Ph (804) 474-4947
          [email protected]
          http://www.agilquest.com
          

Hi Chris,
          I've offered to OEM our Coherence product to BEA ... talk to them ;-)
          Peace,
          Cameron Purdy
          Tangosol, Inc.
          Clustering Weblogic? You're either using Coherence, or you should be!
          Download a Tangosol Coherence eval today at http://www.tangosol.com/
          "Chris Lumpkin" <[email protected]> wrote in message
          news:3c56b79b$[email protected]..
          > Is there no way to insure that ServletContext is propagated across a
          cluster
          > in Weblogic 6.1 sp1 without using another product? I am trying to make a
          > cache of some data that will be available to all servlets in a cluster The
          > JNDI tree is not an option due to performance, and Session is out due to
          > limited scope.
          >
          > My company will most likely refuse to invest in a companion product in
          order
          > to accomplish this goal (I already read the post where Tangosol Coherence
          is
          > suggested as a solution). Any suggestions greatly appreciated.
          >
          >
          > ---------------------------------------------------
          > Chris Lumpkin
          > Java Developer
          > agilquest
          > Ph (804) 474-4947
          > [email protected]
          > http://www.agilquest.com
          > ---------------------------------------------------
          >
          >
          

Similar Messages

  • Can we use threads in Clusters?

    Hi,
    My application is previously running on Iplanet4 webserver. We are migrating it to weblogic application server for reducing load on the application. We want to utilise the weblogic clustering concept for load balancing.
    Now when we deploy our application in weblogic we are getting below warning...
    <Web application: ServletContext(id=13686851,name=CCTS3_5May,context-path=/CCTS3_5May)
    tried to place a non-serializable attribute: ccsession into the session: C61wF726pZpozohwzPefgQaX7yaXXHOJY7S9XufjU3tWmvA09z6o!789533662!1115354608350. This attribute will be lost upon redeployment. This message is logged only once per session.>
    That is coming because one thread object is there in the CCSession class. When we are trying to serialize the object of that CCSession class we are getting warning of the above.
    And i had seen in one of the forums that "when threads are there in any web application, it is impossible to use clustering"? Is any other way is there for migrating my application to weblogic server and use the clustering concept.
    We are using weblogic especially for clustering concept only.
    Is there any solution for this problem?
    Please share your suggestions,
    Thanks in advance,
    Chandra Sekhar.

    Hi
    You can use objects that extents java.io.Serializable class ...
    Jin

  • Clustering Problem on WLS 5.1 sp 2/3

    I've set up a multihomed machine running four instances of WLS 5.1 sp2 on
              solaris 7. When I initially added them to a cluster and tested them for
              serving JSPs everything seemed fine. I've since tried deploying an EJB
              (which works in a non clustered server) and I'm suddenly getting the
              following errors:
              stdout:
              ... <E> <MutlicastSocket> Multicast socket receive error:
              java.lang.runtimeException: I/O error opening JAR file from
              file:/export/home0/weblogic/cluster1/serverclasses
              stderr:
              java.util.zip.ZipException: error in opening zip file
              at java.util.zip.ZipFile.open(Native Method)
              at java.util.zip.ZipFile.open(Compiled Code)
              at java.util.zip.ZipFile.<init>(Compiled Code)
              at java.util.zip.ZipFile.<init>(Compiled Code)
              at
              weblogic.boot.ServerClassLoader.deploy(ServerClassLoader.java:141)
              at
              weblogic.cluster.AnnotatedServiceOffer.expandClassPath(AnnotatedServiceOffer
              .java:74)
              at weblogic.cluster.AnnotatedServiceOffer.readObject(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
              iled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
              Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readArrayList(Compiled
              Code)
              at weblogic.cluster.Announcement.readObject(Announcement.java:73)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
              iled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
              Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled Code)
              at
              weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled Code)
              at weblogic.cluster.TMSocket.execute(Compiled Code)
              at weblogic.kernel.ExecuteThread.run(Compiled Code)
              (My EJB is deployed it its expanded directory form, which worked in a single
              server, this error happens repeatedly, regardless of accessing the EJB. The
              weblogic log says that the EJB deployed successfully)
              I've also tried upgrading to sp3, now it cannot even serve jsps, I get the
              following error:
              Wed Jun 14 10:36:06 GMT+01:00 2000:<I> <ServletContext-General> file: init
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: init
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              verbose initialized to: true
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              packagePrefix initialized to: jsp_servlet
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              compileCommand initialized to: /usr/java1.2/bin/javac
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              srcCompiler initialized to weblogic.jspc
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              superclass initialized to null
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              workingDir initialized to: /export/home0/weblogic/cluster1/classfiles
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp: param
              pageCheckSeconds initialized to: 1
              Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              initialization complete
              Wed Jun 14 10:36:24 GMT+01:00 2000:<E> <ServletContext-General> Servlet
              failed with Exception
              java.lang.NullPointerException
              at
              weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
              eplicatedSession.java:339)
              at
              weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
              onContext.java:322)
              at
              weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              l.java:1104)
              at
              weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              ava:1007)
              at
              weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              ava:981)
              at
              weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
              at
              weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
              at
              weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
              at jsp_servlet.simpleSession._jspService(simpleSession.java:64)
              at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :123)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :141)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:744)
              at
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:692)
              at
              weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
              Manager.java:251)
              at
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
              at
              weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
              at weblogic.kernel.ExecuteThread.run(Compiled Code)
              Thanks in advance, tell me if you need more info
              Loz (ECsoft/MyNet)
              

    I got that working. Never mind.
              Amit Bhutra <[email protected]> wrote in message
              news:[email protected]...
              > I am getting same error. How did you resolved it?
              > Weblogic creates a jar file in mycluster/tmp_deployment directory.
              >
              > Do i need to include this jar file in my weblogic.properties?
              >
              > Loz <[email protected]> wrote in message
              > news:[email protected]...
              > > OK, I got rid of the EJB problem by deploying as a jar, how about the
              sp3
              > > problem?
              > >
              > > Loz
              > >
              > > "Loz" <[email protected]> wrote in message
              > > news:[email protected]...
              > > > I've set up a multihomed machine running four instances of WLS 5.1 sp2
              > on
              > > > solaris 7. When I initially added them to a cluster and tested them
              for
              > > > serving JSPs everything seemed fine. I've since tried deploying an EJB
              > > > (which works in a non clustered server) and I'm suddenly getting the
              > > > following errors:
              > > >
              > > > stdout:
              > > > ... <E> <MutlicastSocket> Multicast socket receive error:
              > > > java.lang.runtimeException: I/O error opening JAR file from
              > > > file:/export/home0/weblogic/cluster1/serverclasses
              > > >
              > > > stderr:
              > > > java.util.zip.ZipException: error in opening zip file
              > > > at java.util.zip.ZipFile.open(Native Method)
              > > > at java.util.zip.ZipFile.open(Compiled Code)
              > > > at java.util.zip.ZipFile.<init>(Compiled Code)
              > > > at java.util.zip.ZipFile.<init>(Compiled Code)
              > > > at
              > > > weblogic.boot.ServerClassLoader.deploy(ServerClassLoader.java:141)
              > > > at
              > > >
              > >
              >
              weblogic.cluster.AnnotatedServiceOffer.expandClassPath(AnnotatedServiceOffer
              > > > .java:74)
              > > > at weblogic.cluster.AnnotatedServiceOffer.readObject(Compiled
              > > Code)
              > > > at
              > > >
              > >
              >
              weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
              > > > iled Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled
              > > Code)
              > > > at
              > > >
              weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
              > > > Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled
              > Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled
              > > Code)
              > > > at
              > > >
              weblogic.common.internal.WLObjectInputStreamBase.readArrayList(Compiled
              > > > Code)
              > > > at
              > weblogic.cluster.Announcement.readObject(Announcement.java:73)
              > > > at
              > > >
              > >
              >
              weblogic.common.internal.WLObjectInputStreamBase.readPublicSerializable(Comp
              > > > iled Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readLeftover(Compiled
              > > Code)
              > > > at
              > > >
              weblogic.common.internal.WLObjectInputStreamBase.readObjectBody(Compiled
              > > > Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readObject(Compiled
              > Code)
              > > > at
              > > > weblogic.common.internal.WLObjectInputStreamBase.readObjectWL(Compiled
              > > Code)
              > > > at weblogic.cluster.TMSocket.execute(Compiled Code)
              > > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > > >
              > > > (My EJB is deployed it its expanded directory form, which worked in a
              > > single
              > > > server, this error happens repeatedly, regardless of accessing the
              EJB.
              > > The
              > > > weblogic log says that the EJB deployed successfully)
              > > >
              > > > I've also tried upgrading to sp3, now it cannot even serve jsps, I get
              > the
              > > > following error:
              > > >
              > > > Wed Jun 14 10:36:06 GMT+01:00 2000:<I> <ServletContext-General> file:
              > init
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > init
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > verbose initialized to: true
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > packagePrefix initialized to: jsp_servlet
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > compileCommand initialized to: /usr/java1.2/bin/javac
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > srcCompiler initialized to weblogic.jspc
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > superclass initialized to null
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > workingDir initialized to: /export/home0/weblogic/cluster1/classfiles
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > param
              > > > pageCheckSeconds initialized to: 1
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<I> <ServletContext-General> *.jsp:
              > > > initialization complete
              > > > Wed Jun 14 10:36:24 GMT+01:00 2000:<E> <ServletContext-General>
              Servlet
              > > > failed with Exception
              > > > java.lang.NullPointerException
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.session.ReplicatedSession.setMaxInactiveInterval(R
              > > > eplicatedSession.java:339)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
              > > > onContext.java:322)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              > > > l.java:1104)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              > > > ava:1007)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              > > > ava:981)
              > > > at
              > > >
              weblogic.servlet.jsp.PageContextImpl.initialize(PageContextImpl.java:47)
              > > > at
              > > > weblogic.servlet.jsp.PageContextImpl.<init>(PageContextImpl.java:64)
              > > > at
              > > >
              > weblogic.servlet.jsp.JspFactoryImpl.getPageContext(JspFactoryImpl.java:31)
              > > > at
              jsp_servlet.simpleSession._jspService(simpleSession.java:64)
              > > > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              > > > :123)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              > > > :141)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              > > > l.java:744)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              > > > l.java:692)
              > > > at
              > > >
              > >
              >
              weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
              > > > Manager.java:251)
              > > > at
              > > >
              > >
              >
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
              > > > at
              > > > weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
              > > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > > >
              > > > Thanks in advance, tell me if you need more info
              > > >
              > > > Loz (ECsoft/MyNet)
              > > >
              > > >
              > >
              > >
              >
              >
              

  • Performance tuning: lite sessions and local ServletContext

    I have been doing some research on iPlanet performance tuning. In our
    current production environment (iAS6.0 SP1B, iWS4.1 SP2 on Solaris), since
    we don't use clustering there should be a couple of performance improvements
    we can make immediately:
    1. Use lite sessions (<session-impl>lite</session-impl> in ias-web.xml) - I
    believe that if you use lite sessions, the session data is stored in the kjs
    process space as opposed to the kxs process space. This, of course, means
    that if a kjs dies the user's on it will lose their session information but
    it will provide a performance improvement by reducing kxs/kjs communication.
    2. Use local ServletContexts (<distributable>false</distributable> in
    web.xml) - This should cause the ServletContext to only be stored in the
    originating JVM. So again, if a kjs dies, the user will lose their
    ServletContext but again we will get a performance improvement by reducing
    kxs/kjs communcation.
    What I want to understand is how our load balancing configuration will
    effect our production environment if we use this configuration. Right now
    we use sticky load balancing on all our servlets but we don't have our JSPs
    registered and therefore sticky load balancing cannot always be trusted to
    return users to the iAS they came from. We make up for this by using
    hardware load balancing that keeps the majority of our users sticky.
    However, using lite sessions and local ServletContexts will require that a
    user not only stick to an iAS, but to a specific kjs as well. Using sticky
    load balancing would ensure that, but since we also rely on our hardware
    load balancers, could they create a problem? If a user gets sent back to
    the iAS they came from by our hardware load balancers, will the kxs process
    be smart enough to return them to the kjs they came from? If so, then I
    think that means that we can safely switch to lite sessions and local
    ServletContexts, but if not, I think many users will lose their sessions.
    Thanks,
    Linc

    Please follow thru this link for your answers
    http://developer.iplanet.com/viewsource/char_tuningias/index.jsp
    Thanks
    Shital Patel
    Lincoln wrote:
    I have been doing some research on iPlanet performance tuning. In our
    current production environment (iAS6.0 SP1B, iWS4.1 SP2 on Solaris), since
    we don't use clustering there should be a couple of performance improvements
    we can make immediately:
    1. Use lite sessions (<session-impl>lite</session-impl> in ias-web.xml) - I
    believe that if you use lite sessions, the session data is stored in the kjs
    process space as opposed to the kxs process space. This, of course, means
    that if a kjs dies the user's on it will lose their session information but
    it will provide a performance improvement by reducing kxs/kjs communication.
    2. Use local ServletContexts (<distributable>false</distributable> in
    web.xml) - This should cause the ServletContext to only be stored in the
    originating JVM. So again, if a kjs dies, the user will lose their
    ServletContext but again we will get a performance improvement by reducing
    kxs/kjs communcation.
    What I want to understand is how our load balancing configuration will
    effect our production environment if we use this configuration. Right now
    we use sticky load balancing on all our servlets but we don't have our JSPs
    registered and therefore sticky load balancing cannot always be trusted to
    return users to the iAS they came from. We make up for this by using
    hardware load balancing that keeps the majority of our users sticky.
    However, using lite sessions and local ServletContexts will require that a
    user not only stick to an iAS, but to a specific kjs as well. Using sticky
    load balancing would ensure that, but since we also rely on our hardware
    load balancers, could they create a problem? If a user gets sent back to
    the iAS they came from by our hardware load balancers, will the kxs process
    be smart enough to return them to the kjs they came from? If so, then I
    think that means that we can safely switch to lite sessions and local
    ServletContexts, but if not, I think many users will lose their sessions.
    Thanks,
    Linc

  • Clustering JNDI

    Hi,
    As I'm using clustering of weblogic 7.0, and I know I cannot use ServletContext
    for placing objects as it's not replicated via all the servers, I wondered if
    I could use Context for that.
    If I place objects in the JNDI Context using bind, and I update them using rebind,
    will those object and changes be clustered to every node? What should I do for
    changes to be propagated?
    Does the server's perfomance suffer too much from changing use of JNDI instead
    of ServletContext?
    Is there any problem for concurrent access to objects in JNDI Context?
    I know there's a product called Coherence by Tangosol for using ServletContext
    in clustered environments, but I cannot use it as my client does not wanna hear
    about more products to be bought. :.-(
    Thanks

    "Ignacio Sanchez" <[email protected]> wrote in message news:<[email protected]>...
    Thanks for your reply,
    Anyway, I see one big problem, which is included in that page, in the warning.
    Here it is: "Do not use the cluster-wide JNDI tree as a persistence or caching
    mechanism for application data. Although WebLogic Server replicates a clustered
    server instance's JNDI entries to other server instances in the cluster, those
    entries are removed from the cluster if the original instance fails".
    So, this does not seem to be the solution.
    "SIPTech Community" <[email protected]> wrote:
    "Ignacio Sanchez" <[email protected]> wrote:
    Hi,
    As I'm using clustering of weblogic 7.0, and I know I cannot use ServletContext
    for placing objects as it's not replicated via all the servers, I wondered
    if
    I could use Context for that.
    If I place objects in the JNDI Context using bind, and I update them
    using rebind,
    will those object and changes be clustered to every node? What should
    I do for
    changes to be propagated?
    Does the server's perfomance suffer too much from changing use of JNDI
    instead
    of ServletContext?
    Is there any problem for concurrent access to objects in JNDI Context?
    I know there's a product called Coherence by Tangosol for using ServletContext
    in clustered environments, but I cannot use it as my client does not
    wanna hear
    about more products to be bought. :.-(
    ThanksHi,
    Every server instance in a cluster maintains Clusterwide JNDI Tree
    (for clustered
    objects).
    Binded objects in any cluster server instance will be replicated
    in other
    server instances just after successful
    binding.
    Pls. view this URL for more details :
    http://edocs.bea.com/wls/docs70/cluster/features.html#1007508
    Prema
    Many Application Servers make use of caching for the JNDI Tree when
    you have more than 1 clone (vertical or horizontal).
    If you make use of JNDI in order to store "constant" information, you
    need to use just bind /rebind and lookup... but if you want update
    frequently a JNDI object you will have to clean this cache by setting
    the appropriate property in the JNDI Environment... because you could
    experience a dirty (old) value by making a simple lookup.
    A sample using IBM WebSphere:
    public static final Object lookupEnvEntry(InitialContext ic, String
    entryName, boolean clearCache) {
         try {
              if (clearCache) {
                   Hashtable env = ic.getEnvironment();
                   env.put("com.ibm.websphere.naming.jndicache.cacheobject",
    "cleared");
                   ic = new InitialContext(env);
              return (String)ic.lookup(entryName.trim());
         } catch (Exception ex) {
              System.out.println("Initial Context: Error retrieving Environment
    Entry: " + entryName.trim() + " - " + ex.getMessage());
              return null;

  • Clustering weblogic portal 10.3 with apache plugin

    Hi,
    we have configured a weblogic portal 10.3 cluster with two managed servers. We are using the apache 2.2 plugin module for dispatching.
    It seems for us that the plugin is not working correctly. It dispatches all request only to one server (we have tested it from different client machines). When we kill one of the managed servers the plugin dispatches to the other server which is correct.
    In our test case we have produced a lot of load with two jmeter instances from two machines. All requests are dispachted to one managed server. After the first server runs in an out of memory, the plugin dispachted to the second managed server until this runs also in an out of memory. Therefor we have no real load balancing.
    Here is our httpd.conf configuration:
    <VirtualHost 149.191.201.135:80>
    ServerName localhost
    # ServerAlias adportal adportal.eu.xxx.com
    RewriteEngine on
    RewriteRule ^/$ /adp_war/appmanager/ad01/ad01 [R]
    LimitRequestBody 12582912
    CustomLog "|d:/apache/bin/rotatelogs.exe d:/apache/logs/adportal_access.log 864000" common
    <IfModule mod_weblogic.c>
    WeblogicCluster sis26.eu.xxx.com:8031,sis27.eu.xxx.com:8031     
    MatchExpression *.jsp
    MatchExpression *.do
    MatchExpression *.portal
    MatchExpression *.htm
    MatchExpression *.html
    MatchExpression *.jpg
    MatchExpression *.gif
    ConnectTimeoutSecs 300
    ConnectRetrySecs 1
    MaxPostSize 12582912
    SecureProxy Off
    Debug ON
    WLLogFile d:/apache/debug/global_proxy.log
    WLTempDir "d:/apache/debug\temp"
    DebugConfigInfo On
    </IfModule>
    <Location ~ "/adp_war/(appmanager|portals|portlets|resources|showImage|ShowBinary|framework)">
    SetHandler weblogic-handler
    </Location>
    </VirtualHost>
    Has anyone an idea?
    By the way we have also tested it with the apache 2.0 plugin which also isn't working.

    Hi,
    Were do we set the listen address.
    Even we have the same problem. I have one physical that has the admin server and manager server and other server with just the manager server.
    We have the apache proxy server infront of these clustered server. Our server goes down very frequently even without activity.
    Some time we get the following error but some time there is no exception in the logs.
    ####<Nov 6, 2009 10:05:57 PM CST> <Error> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[ACTIVE] ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257566757265> <BEA-000337> <[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "634" seconds working on the request "weblogic.servlet.internal.ServletRequestImpl@2c88d39[
    POST /spmlws/OIMProvisioning HTTP/1.1
    SOAPAction: http://xmlns.oracle.com/OIM/provisioning/processRequest
    Content-Type: text/xml; charset="UTF-8"
    User-Agent: OIM AD Pwd Sync/1.0
    Content-Length: 1313
    Connection: Keep-Alive
    ]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
    Thread-18 "[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in native, suspended, priority=1, DAEMON> {
    java.io.FileOutputStream.writeBytes(FileOutputStream.java:???)
    java.io.FileOutputStream.write(FileOutputStream.java:260)
    java.io.BufferedOutputStream.write(BufferedOutputStream.java:100)
    ^-- Holding lock: java.io.BufferedOutputStream@214ef14[thin lock]
    java.io.PrintStream.write(PrintStream.java:428)
    ^-- Holding lock: java.io.PrintStream@214ed9e[thin lock]
    sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:191)
    sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:271)
    sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
    sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:120)
    ^-- Holding lock: java.io.OutputStreamWriter@19de784[thin lock]
    java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
    org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:49)
    org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:292)
    org.apache.log4j.WriterAppender.append(WriterAppender.java:147)
    org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:201)
    ^-- Holding lock: org.apache.log4j.ConsoleAppender@19de688[thin lock]
    org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:50)
    org.apache.log4j.Category.callAppenders(Category.java:181)
    ^-- Holding lock: org.apache.log4j.spi.RootCategory@19de3c9[fat lock]
    org.apache.log4j.Category.forcedLog(Category.java:372)
    org.apache.log4j.Category.error(Category.java:300)
    com.thortech.util.logging.Logger.error(Unknown Source)
    com.oracle.xl.spmlws.framework.logger.OraLogger.log(Unknown Source)
    com.oracle.xl.spmlws.ws.server.weblogic.OIMProvisioningImpl.processRequest(Unknown Source)
    sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:???)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:27)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:575)
    weblogic.webservice.component.javaclass.JavaClassInvocationHandler.invoke(JavaClassInvocationHandler.java:127)
    weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.java:75)
    weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.java:141)
    weblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:542)
    weblogic.webservice.server.Dispatcher.process(Dispatcher.java:200)
    weblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:140)
    weblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:53)
    weblogic.webservice.server.WebServiceManager.dispatch(WebServiceManager.java:100)
    weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebServiceServlet.java:299)
    weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:417)
    weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServlet.java:286)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:700)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
    weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:224)
    weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
    weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:198)
    weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3468)
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
    weblogic.security.service.SecurityManager.runAs(Unknown Source)
    weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2116)
    weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2038)
    weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1372)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:198)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:165)
    >
    <[STUCK] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:11:48 PM CST> <Info> <ServletContext-/xlWebApp> <abc.abc.com> <OIM_SERVER1> <[ACTIVE] ExecuteThread: '23' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1257567108507> <BEA-000000> <action: LogonAction: User 'XELSYSADM' logged on in session jJ2bK0zdx4LPTScXWRMG3jznSQgQsJKqC4YSpMlJ3Q4KCRrGYM9l!-1225252524!NONE!1257567101565>
    ####<Nov 6, 2009 10:11:01 PM CST> <Info> <ServletContext-/xlWebApp> <abc.abc.com> <OIM_SERVER1> <[ACTIVE] ExecuteThread: '20' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1257567061835> <BEA-000000> <action: LogonAction: User 'XELSYSADM' logged on in session T23kK0ncSs60YfLnZRhpdZDvmL8sq1QQlc7vMLQJSpVQFyvSMvD6!-1225252524!NONE!1257565852875>
    ####<Nov 6, 2009 10:11:14 PM CST> <Info> <ServletContext-/xlWebApp> <abc.abc.com> <OIM_SERVER1> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1257567074087> <BEA-000000> <action: LogonAction: User 'XELSYSADM' logged on in session T23kK0ncSs60YfLnZRhpdZDvmL8sq1QQlc7vMLQJSpVQFyvSMvD6!-1225252524!NONE!1257565852875>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167000> <BEA-000339> <[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167003> <BEA-000339> <[STUCK] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167009> <BEA-000339> <[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167019> <BEA-000339> <[STUCK] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167022> <BEA-000339> <[STUCK] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Info> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <[STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1257567167033> <BEA-000339> <[STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)' has become "unstuck".>
    ####<Nov 6, 2009 10:12:47 PM CST> <Notice> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <Thread-1> <<WLS Kernel>> <> <> <1257567167043> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>
    ####<Nov 6, 2009 10:12:47 PM CST> <Alert> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <Thread-1> <<WLS Kernel>> <> <> <1257567167048> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>
    ####<Nov 6, 2009 10:12:47 PM CST> <Notice> <WebLogicServer> <abc.abc.com> <OIM_SERVER1> <Thread-1> <<WLS Kernel>> <> <> <1257567167058> <BEA-000365> <Server state changed to FORCE_SUSPENDING>

  • Clustering 5 nodes with Weblogic 5.1.0 sp6

    When setting up a cluster of 5 nodes, I'm seeing that only 3 of the 5 nodes
              respond to when accessing SessionServlet (from weblogic examples. When I
              make a request to the other 2 nodes in the cluster, I see the attached
              stacktrace (using kill -QUIT) on the JVM and the browser times out.
              I am accessing each node in the cluster directly using the URL
              http://<nodename>:7001/session.
              Each node in the cluster is started using the command below. Note that I am
              using nativeIO (weblogic.system.nativeIO.enable=true), which starts 3 posix
              threads for socket polling. Does that number have anything to do with the 3
              nodes that respond, or it just a coincidence?
              Ravi.
              Command:
              /acs/util/SunOS/jdk1.2.2/bin/java
              -native
              -ms1024m
              -mx1024m
              -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
              -Xmaxjitcodesize33554432
              -Xbootclasspath/a:<weblogic bootclasspath>
              -Dweblogic.class.path=<weblogic classpath>
              -Djava.security.manager
              -Djava.security.policy=/opt/weblogic/weblogic.policy
              -Dweblogic.system.home=/opt/weblogic
              -Dasera.installhome=/acs
              -Dweblogic.cluster.enable=true
              -Dweblogic.httpd.clustering.enable=true
              -Dweblogic.httpd.session.persistence=true
              -Dweblogic.httpd.session.persistentStoreType=replicated
              -Dweblogic.cluster.multicastAddress=238.0.0.11
              com.asera.server.boot.AseraServer
              Stacktrace:
              "ExecuteThread-19" (TID:0xc58900, sys_thread_t:0xc58838, state:CW, thread_t:
              t@30, threadID:0xa8f81dd0, stack_bottom:0xa8f82000, stack_size:0x20000)
              prio=5
              [1] weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:43)
              [2] weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:58)
              [3]
              weblogic.rmi.extensions.BasicResponse.getThrowable(BasicResponse.java:13)
              [4]
              weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:74)
              [5]
              weblogic.jndi.internal.RemoteContextFactoryImpl_WLStub.getContext(RemoteCont
              extFactoryImpl_WLStub.java:95)
              [6]
              weblogic.jndi.WLInitialContextFactoryDelegate.newRemoteContext(WLInitialCont
              extFactoryDelegate.java:316)
              [7]
              weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFac
              toryDelegate.java:224)
              [8]
              weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
              textFactoryDelegate.java:164)
              [9] weblogic.jndi.Environment.getContext(Environment.java:122)
              [10] weblogic.jndi.Environment.getInitialContext(Environment.java:104)
              [11]
              weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager
              .java:362)
              [12]
              weblogic.cluster.replication.ReplicationManager.createSecondary(ReplicationM
              anager.java:406)
              [13]
              weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.
              java:583)
              [14]
              weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession
              .java:107)
              [15]
              weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(Rep
              licatedSessionContext.java:50)
              [16]
              weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              l.java:1065)
              [17]
              weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              ava:967)
              [18] examples.servlets.SessionServlet.doGet(SessionServlet.java:51)
              [19] javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
              [20] javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
              [21]
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :105)
              [22]
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:742)
              [23]
              weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              l.java:686)
              [24]
              weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
              Manager.java:247)
              [25]
              weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:361)
              [26] weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)
              [27] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:96)
              

              Try SP10 with weblogic.system.servletThreadCount=<same value as executeThreadCount>
              Mike
              "Ravi Sharma" <[email protected]> wrote:
              >When setting up a cluster of 5 nodes, I'm seeing that only 3 of the 5
              >nodes
              >respond to when accessing SessionServlet (from weblogic examples. When
              >I
              >make a request to the other 2 nodes in the cluster, I see the attached
              >stacktrace (using kill -QUIT) on the JVM and the browser times out.
              >
              >I am accessing each node in the cluster directly using the URL
              >http://<nodename>:7001/session.
              >
              >Each node in the cluster is started using the command below. Note that
              >I am
              >using nativeIO (weblogic.system.nativeIO.enable=true), which starts 3
              >posix
              >threads for socket polling. Does that number have anything to do with
              >the 3
              >nodes that respond, or it just a coincidence?
              >
              >Ravi.
              >
              >
              >Command:
              >
              >/acs/util/SunOS/jdk1.2.2/bin/java
              >-native
              >-ms1024m
              >-mx1024m
              >-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
              >-Xmaxjitcodesize33554432
              >-Xbootclasspath/a:<weblogic bootclasspath>
              >-Dweblogic.class.path=<weblogic classpath>
              >-Djava.security.manager
              >-Djava.security.policy=/opt/weblogic/weblogic.policy
              >-Dweblogic.system.home=/opt/weblogic
              >-Dasera.installhome=/acs
              >-Dweblogic.cluster.enable=true
              >-Dweblogic.httpd.clustering.enable=true
              >-Dweblogic.httpd.session.persistence=true
              >-Dweblogic.httpd.session.persistentStoreType=replicated
              >-Dweblogic.cluster.multicastAddress=238.0.0.11
              >com.asera.server.boot.AseraServer
              >
              >Stacktrace:
              >
              >"ExecuteThread-19" (TID:0xc58900, sys_thread_t:0xc58838, state:CW, thread_t:
              >t@30, threadID:0xa8f81dd0, stack_bottom:0xa8f82000, stack_size:0x20000)
              >prio=5
              >
              >[1] weblogic.rjvm.ResponseImpl.waitForData(ResponseImpl.java:43)
              >[2] weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:58)
              >[3]
              >weblogic.rmi.extensions.BasicResponse.getThrowable(BasicResponse.java:13)
              >[4]
              >weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:74)
              >[5]
              >weblogic.jndi.internal.RemoteContextFactoryImpl_WLStub.getContext(RemoteCont
              >extFactoryImpl_WLStub.java:95)
              >[6]
              >weblogic.jndi.WLInitialContextFactoryDelegate.newRemoteContext(WLInitialCont
              >extFactoryDelegate.java:316)
              >[7]
              >weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFac
              >toryDelegate.java:224)
              >[8]
              >weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
              >textFactoryDelegate.java:164)
              >[9] weblogic.jndi.Environment.getContext(Environment.java:122)
              >[10] weblogic.jndi.Environment.getInitialContext(Environment.java:104)
              >[11]
              >weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager
              >..java:362)
              >[12]
              >weblogic.cluster.replication.ReplicationManager.createSecondary(ReplicationM
              >anager.java:406)
              >[13]
              >weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.
              >java:583)
              >[14]
              >weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession
              >..java:107)
              >[15]
              >weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(Rep
              >licatedSessionContext.java:50)
              >[16]
              >weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              >l.java:1065)
              >[17]
              >weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
              >ava:967)
              >[18] examples.servlets.SessionServlet.doGet(SessionServlet.java:51)
              >[19] javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
              >[20] javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
              >[21]
              >weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              >:105)
              >[22]
              >weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              >l.java:742)
              >[23]
              >weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
              >l.java:686)
              >[24]
              >weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
              >Manager.java:247)
              >[25]
              >weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:361)
              >[26] weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)
              >[27] weblogic.kernel.ExecuteThread.run(ExecuteThread.java:96)
              >
              >
              

  • Error in clustering .

    Hi All,
              Can anybody tell me what are the reasons for this error.
              It occurs in a clustered environment.
              Thanks
              Exception:
              Wed Feb 14 07:05:44 GMT-03:00 2001:<E> <ServletContext-Servlets>
              ServletRequestImpl: Exception creating new session
              Wed Feb 14 07:05:44 GMT-03:00 2001:<E> <ServletContext-Servlets>
              java.lang.ClassCastException: weblogic.jndi.WLContext_WLStub
              at
              weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager
              .java:368)
              at
              weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
              Code)
              at
              weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.
              java:621)
              at
              weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession
              .java:112)
              at
              weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(Rep
              licatedSessionContext.java:46)
              at
              weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              l.java:1104)
              

    Hi Vinod,
              Make sure you have EXACTLY the same binary versions of the classes that you
              are using, and run the latest Service Pack.
              regards,
              -Rob
              Robert Castaneda [email protected]
              CustomWare http://www.customware.com
              "vinod" <[email protected]> wrote in message
              news:[email protected]...
              > Hi All,
              >
              > Can anybody tell me what are the reasons for this error.
              > It occurs in a clustered environment.
              >
              > Thanks
              >
              >
              > Exception:
              > ************************************************
              >
              >
              >
              > Wed Feb 14 07:05:44 GMT-03:00 2001:<E> <ServletContext-Servlets>
              > ServletRequestImpl: Exception creating new session
              > Wed Feb 14 07:05:44 GMT-03:00 2001:<E> <ServletContext-Servlets>
              > java.lang.ClassCastException: weblogic.jndi.WLContext_WLStub
              > at
              >
              weblogic.cluster.replication.ReplicationManager.getRepMan(ReplicationManager
              > .java:368)
              > at
              > weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
              > Code)
              > at
              >
              weblogic.cluster.replication.ReplicationManager.register(ReplicationManager.
              > java:621)
              > at
              >
              weblogic.servlet.internal.session.ReplicatedSession.<init>(ReplicatedSession
              > .java:112)
              > at
              >
              weblogic.servlet.internal.session.ReplicatedSessionContext.getNewSession(Rep
              > licatedSessionContext.java:46)
              > at
              >
              weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
              > l.java:1104)
              >
              >
              >
              >
              

  • Servlet error in clustering env.

              Guess this is something to do with the servlet clustering configuration. WLS(5.1, sp6) clustering run on Solaris 2.6 with jdk1.2.
              Do any one have any idea what could be the problems?
              =========================================================
              Mon Dec 11 15:58:19 EST 2000:<I> <ServletContext-General> Generated java file: /home/weblogic/5.1/ourserver/cl
              assfiles/jsp_servlet/_html/_libraries/_vieworg.java
              Mon Dec 11 15:58:20 EST 2000:<E> <ServletContextManager> Servlet request terminiated with Error
              weblogic.cluster.replication.BadStatusException: update found 4586531668847271614 but it is not the secondary
              at java.lang.Throwable.fillInStackTrace(Native Method)
              at java.lang.Throwable.fillInStackTrace(Compiled Code)
              at weblogic.rmi.extensions.AbstractRequest.sendReceive(Compiled Code)
              at weblogic.cluster.replication.ReplicationManager_WLStub.update(Compiled Code)
              at weblogic.cluster.replication.ReplicationManager.updateSecondary(Compiled Code)
              at weblogic.servlet.internal.session.ReplicatedSession.sync(Compiled Code)
              at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.syncSession(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.kernel.ExecuteThread.run(Compiled Code)
              --------------- nested within: ------------------
              weblogic.utils.NestedError: Tried to update secondary, but it thought it was the primary - with nested exceptio
              n:
              [weblogic.cluster.replication.BadStatusException: update found 4586531668847271614 but it is not the secondary]
              at java.lang.Throwable.fillInStackTrace(Native Method)
              at java.lang.Throwable.fillInStackTrace(Compiled Code)
              at java.lang.Throwable.<init>(Compiled Code)
              at java.lang.Error.<init>(Error.java:50)
              at weblogic.utils.NestedError.<init>(NestedError.java:23)
              at weblogic.servlet.internal.session.ReplicatedSession.sync(Compiled Code)
              at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(Compiled Code)
              at weblogic.servlet.internal.ServletRequestImpl.syncSession(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              at weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              at weblogic.kernel.ExecuteThread.run(Compiled Code)
              

    You should search in your log for message "Timed out server". If you see this,
              it means that your cluster is not healthy.
              Long gc is attributed to memory. If you don't have enough heap memory vm will
              take more time to do gc and during this time the server won't be able to do any
              work. If two servers are running gc's at different times, what you have is two
              servers in a cluster timing out each other at different times causing this
              problem to aggrevate.
              One way to solve the problem is by tuning the server so that you won't run into
              this problem.
              We designed the system differently to overcome this problem based on our
              experience with 4.5 and 5.1. It is not an easy thing to back port this change
              into a service pack.
              Yes, the fix to minimize the problem did go in 5.1
              Let me know if anything is unclear.
              Thanks
              - Prasad
              Joel Nylund wrote:
              > I have been working with weblogic support on this one for a while, they say
              > its fixed in 6.0 (which sucks for those of us still 4.5.1). They said it
              > happens less in sp13 for 4.51, im not sure if there is a similar patch for
              > 5.x. I would contact support. They say the reasons for this are one of :
              >
              > 1.) unreliable network
              > 2.) long gc loop or not enough memory (never understood this one)
              >
              > -Joel
              >
              > "Key Zhang" <[email protected]> wrote in message
              > news:[email protected]...
              > >
              > > Guess this is something to do with the servlet clustering configuration.
              > WLS(5.1, sp6) clustering run on Solaris 2.6 with jdk1.2.
              > >
              > >
              > > Do any one have any idea what could be the problems?
              > >
              > > =========================================================
              > > Mon Dec 11 15:58:19 EST 2000:<I> <ServletContext-General> Generated java
              > file: /home/weblogic/5.1/ourserver/cl
              > > assfiles/jsp_servlet/_html/_libraries/_vieworg.java
              > > Mon Dec 11 15:58:20 EST 2000:<E> <ServletContextManager> Servlet request
              > terminiated with Error
              > > weblogic.cluster.replication.BadStatusException: update found
              > 4586531668847271614 but it is not the secondary
              > > at java.lang.Throwable.fillInStackTrace(Native Method)
              > > at java.lang.Throwable.fillInStackTrace(Compiled Code)
              > > at weblogic.rmi.extensions.AbstractRequest.sendReceive(Compiled
              > Code)
              > > at
              > weblogic.cluster.replication.ReplicationManager_WLStub.update(Compiled Code)
              > > at
              > weblogic.cluster.replication.ReplicationManager.updateSecondary(Compiled
              > Code)
              > > at
              > weblogic.servlet.internal.session.ReplicatedSession.sync(Compiled Code)
              > > at
              > weblogic.servlet.internal.session.ReplicatedSessionContext.sync(Compiled
              > Code)
              > > at
              > weblogic.servlet.internal.ServletRequestImpl.syncSession(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled Code)
              > > at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              > > at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > > --------------- nested within: ------------------
              > > weblogic.utils.NestedError: Tried to update secondary, but it thought it
              > was the primary - with nested exceptio
              > > n:
              > > [weblogic.cluster.replication.BadStatusException: update found
              > 4586531668847271614 but it is not the secondary]
              > > at java.lang.Throwable.fillInStackTrace(Native Method)
              > > at java.lang.Throwable.fillInStackTrace(Compiled Code)
              > > at java.lang.Throwable.<init>(Compiled Code)
              > > at java.lang.Error.<init>(Error.java:50)
              > > at weblogic.utils.NestedError.<init>(NestedError.java:23)
              > > at
              > weblogic.servlet.internal.session.ReplicatedSession.sync(Compiled Code)
              > > at
              > weblogic.servlet.internal.session.ReplicatedSessionContext.sync(Compiled
              > Code)
              > > at
              > weblogic.servlet.internal.ServletRequestImpl.syncSession(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
              > > at
              > weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled Code)
              > > at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
              > > at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
              > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
              > >
              

  • Wls 5.1 sp9 clustering (DNS Problem)

    Hi all,
              I am trying to create a WLS cluster of 3 instances and the fourth one being
              proxy. All four instances of WLS are on the same machine, and we use
              default subnet mask so they are all in the same LAN.
              The servers in the cluster have started properly and are communicating with
              each other using a IPMulticast. No problem there.
              However, when i request a JSP page giving the proxy servers
              address(http://proxyIP:7001/Hello.jsp) , it is not able to forward it to any
              of the clustered server instances. It is not even giving me a time out
              error or page not found or anything. I am not sure if my DNS entries are
              wrong or if there is any other problem or there is something that i missed.
              Can some one verify this for me please.
              DNS ENTRIES in HOSTS file are as follows :
              127.0.0.1 localhost
              192.200.1.251 server251.bozpivot.com
              192.200.1.252 server252.bozpivot.com
              192.200.1.253 server253.bozpivot.com
              mycluster 192.200.1.251
              mycluster 192.200.1.252
              mycluster 192.200.1.253
              STACK Trace on proxy is as follows :
              Sun Jan 02 10:22:33 GMT+05:30 2000:<I> <ServletContext-General> *.jsp: init
              Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure port in
              the
              properties. Using default ports 7001/7002 See release notes for more info
              Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure port in
              the
              properties. Using default ports 7001/7002 See release notes for more info
              Ramesh
              

    Thanks all,
              I got it working, It was not a problem with my DNS entries. I forgot to
              register my JSPServlet, and so all calls to JSP pages were getting into an
              non-ending loop.
              Ramesh
              "ramesh" <[email protected]> wrote in message
              news:[email protected]...
              > Just in case you need to see my proxy servlet configuration :
              >
              > weblogic.httpd.register.*.jsp=weblogic.servlet.internal.HttpClusterServlet
              > weblogic.httpd.initArgs.*.jsp=defaultServers=server251:7001|server252:7001
              >
              >
              weblogic.httpd.register.*.servlet=weblogic.servlet.internal.HttpClusterServl
              > et
              >
              weblogic.httpd.initArgs.*.servlet=defaultServers=server251:7001|server252:70
              > 01
              >
              > weblogic.allow.execute.weblogic.servlet=everyone
              >
              weblogic.httpd.register.cluster=weblogic.servlet.internal.HttpClusterServlet
              >
              weblogic.httpd.initArgs.cluster=defaultServers=server251:7001|server252:7001
              > weblogic.httpd.defaultServlet=cluster
              >
              >
              > "ramesh" <[email protected]> wrote in message
              > news:[email protected]...
              > > Hi all,
              > >
              > > I am trying to create a WLS cluster of 3 instances and the fourth one
              > being
              > > proxy. All four instances of WLS are on the same machine, and we use
              > > default subnet mask so they are all in the same LAN.
              > >
              > > The servers in the cluster have started properly and are communicating
              > with
              > > each other using a IPMulticast. No problem there.
              > >
              > > However, when i request a JSP page giving the proxy servers
              > > address(http://proxyIP:7001/Hello.jsp) , it is not able to forward it to
              > any
              > > of the clustered server instances. It is not even giving me a time out
              > > error or page not found or anything. I am not sure if my DNS entries are
              > > wrong or if there is any other problem or there is something that i
              > missed.
              > > Can some one verify this for me please.
              > >
              > >
              > > DNS ENTRIES in HOSTS file are as follows :
              > >
              > > 127.0.0.1 localhost
              > >
              > > 192.200.1.251 server251.bozpivot.com
              > > 192.200.1.252 server252.bozpivot.com
              > > 192.200.1.253 server253.bozpivot.com
              > >
              > > mycluster 192.200.1.251
              > > mycluster 192.200.1.252
              > > mycluster 192.200.1.253
              > >
              > >
              > > STACK Trace on proxy is as follows :
              > > Sun Jan 02 10:22:33 GMT+05:30 2000:<I> <ServletContext-General> *.jsp:
              > init
              > > Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure
              port
              > in
              > > the
              > > properties. Using default ports 7001/7002 See release notes for more
              info
              > > Sun Jan 02 10:22:33 GMT+05:30 2000:<E> <proxy> Please specify secure
              port
              > in
              > > the
              > > properties. Using default ports 7001/7002 See release notes for more
              info
              > >
              > > Ramesh
              > >
              > >
              > >
              > >
              >
              >
              

  • Data Caching in a Clustered Environment

              I want to cache read-only reference/code table data that will run in a clustered
              WLS6 environment. It's a JSP application and I am storing a complete HTML Select
              Control per reference/code table data in the cache. The question is where to
              cache it? I was going to put it in the ServletContext (JSP "application" implicit
              object), but the ServletContext is not replicated. I considered using JNDI, but
              there are problems with duplicate name errors when another server who doesn't
              originally bind the object tries to lookup, change and rebind the object. I guess
              JMS Multicasting is an option, but I don't want to implement JMS just for an application
              data cache.
              Any suggestions for a simple reference/code table read-only caching strategy that
              will work in a clustered WLS6 environment?
              

    If the data is strictly read-only, and you do not have to worry about cache
              integrity, then look at WebLogic JSP cachetag:
              http://www.weblogic.com/docs51/classdocs/API_jsp.html#cachetag
              You can use it to cache both the output and the calculations results
              (variables calculated inside the cache tag).
              The scenario will be exactly the same for non-clustered and clustered
              cases - using multicast to broadcast small invalidation messages (so the
              data can be refreshed from the database) is ok, but replicating application
              data is not (and you definitely do not want to use JNDI for this purpose).
              BTW, the initial CacheTag implementation in 5.1 (supposedly) had a 'cluster'
              scope and I assume it was multicasting fresh data after cache miss - there
              is no such scope in 6.0 implementation.
              If you still want replication you can look at javagroups:
              http://sourceforge.net/projects/javagroups/
              (distributedhashtable example).
              Olsen <[email protected]> wrote:
              > Cameron,
              > Thanks for the reply. However, as I stated below, I am not interested in
              > JMS, nor an EJB solution to the problem. It really is not that complicated of
              > a concept and I know a solution or two (ServletContext, JNDI), but none that works
              > in a WLS6 clustered environment.
              > Any other ideas???
              > Thanks...
              > "Cameron Purdy" <[email protected]> wrote:
              >>Dimitri had a clever (as ever) solution using JMS to maintain cache
              >>integrity:
              >>
              >>explanation at
              >>http://dima.dhs.org/misc/readOnlyUpdates.html
              >>
              >>d/l from
              >>http://dima.dhs.org/misc/readOnlyUpdates.jar
              >>
              >>--
              >>Cameron Purdy
              >>Tangosol, Inc.
              >>http://www.tangosol.com
              >>+1.617.623.5782
              >>WebLogic Consulting Available
              >>
              >>
              >>"Olsen" <[email protected]> wrote in message
              >>news:[email protected]...
              >>>
              >>> I want to cache read-only reference/code table data that will run in
              >>a
              >>clustered
              >>> WLS6 environment. It's a JSP application and I am storing a complete
              >>HTML
              >>Select
              >>> Control per reference/code table data in the cache. The question is
              >>where
              >>to
              >>> cache it? I was going to put it in the ServletContext (JSP "application"
              >>implicit
              >>> object), but the ServletContext is not replicated. I considered using
              >>JNDI, but
              >>> there are problems with duplicate name errors when another server who
              >>doesn't
              >>> originally bind the object tries to lookup, change and rebind the object.
              >>I guess
              >>> JMS Multicasting is an option, but I don't want to implement JMS just
              >>for
              >>an application
              >>> data cache.
              >>> Any suggestions for a simple reference/code table read-only caching
              >>strategy that
              >>> will work in a clustered WLS6 environment?
              >>
              >>
              Dimitri
              

  • Clustering/Context Attribute Replication HOW-TO

    How to set up the context attribute replication for the clustering?
    I am using Sun Java Enterprise System and want to enable context attribute replication.

    Context (ServletContext) attributes cannot be failed over. Only the HttpSession objects will be persisted onto HADB. I think J2EE spec discourages (prohibits ???) persisting/failing over the context attributes in a cluster environment (See Servlet Spec 3.4 - Context Attributes).
    Hope that helps,
    Vasanth

  • Jms clustering with spring

    Hi
    i have created the jms clustering configuration in weblogic 10.3.3 that i am facing issues in the connection queue like this
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'queueConnectionFactory' defined in ServletContext resource [WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Unable to resolve 'QueueConnectionFactory'. Resolved ''; remaining name 'QueueConnectionFactory'
         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1401)
         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
    and i have configured servers below
    clustered the managed servers MS-1 and MS-2
    Servers Targets
    JMS Server Admin server
    JMS Module cluster
    connection queue cluster
    queue JMSServer
    i have tried with the 2 different JMS servers for managed servers
    Servers Targets
    JMS Server - 1 MS-1
    JMS Server - 2 MS-2
    JMS Module cluster
    connection queue cluster
    queue JMSServer - 1 and JMSServer - 2
    so, please help us to configure the JMS clustering with spring.
    Note : please find the spring - applicationContext.xml below thats is used to configure the connection factory and jms queue.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
         <bean id="invoiceListener" class="com.spring.jms.InvoiceMDB" />
         <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
              <property name="environment">
                   <props>
                        <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
                        <prop key="java.naming.provider.url">t3://localhost:6001,localhost:6003,localhost:6005</prop>
                   </props>
              </property>
         </bean>
         <bean id="queueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
              <property name="jndiTemplate"><ref bean="jndiTemplate" /></property>
              <property name="jndiName"><value>QueueConnectionFact</value></property>
         </bean>
         <bean id="invoiceQueueTemplate" class="org.springframework.jms.core.JmsTemplate">
              <property name="connectionFactory"><ref bean="queueConnectionFactory" /></property>
              <property name="destinationResolver"><ref bean="jmsDestinationResolver" /></property>
         </bean>
         <bean id="jmsDestinationResolver" class="org.springframework.jms.support.destination.JndiDestinationResolver">
              <property name="jndiTemplate"><ref bean="jndiTemplate" /></property>
              <property name="cache"><value>true</value></property>
         </bean>
         <bean id="jmsInvoiceSender" class="com.spring.jms.InvoiceQueueSender">
              <property name="jmsTemplate"><ref bean="invoiceQueueTemplate" /></property>
         </bean>
         <bean id="invoiceQueue" class="org.springframework.jndi.JndiObjectFactoryBean">
              <property name="jndiTemplate"><ref bean="jndiTemplate"/></property>
              <property name="jndiName"><value>MyQueue</value></property>
         </bean>
         <bean id="Invoicelistener" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
         <property name="concurrentConsumers" value="5" />
         <property name="connectionFactory" ref="queueConnectionFactory" />
         <property name="destination" ref="invoiceQueue" />
         <property name="messageListener" ref="invoiceListener" />
         <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE" />
    <property name="sessionTransacted" value="true" />
         </bean>
    </beans>

    Are you sure you have defined the correct JNDI-name in the Spring config file?
    An example set-up of a domain can be found here - http://middlewaremagic.com/weblogic/?p=7795 (the script presented in the create domain section)
    This is basically the same set-up you have, except that a distributed queue is being used that is targeted to JMS Servers through a subdeployment.
    The Spring configuration looks as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
            <property name="environment">
                <props>
                    <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
                    <prop key="java.naming.provider.url">t3://192.168.1.50:9001,192.168.1.50:9002</prop>
                </props>
            </property>
        </bean>
        <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiTemplate" ref="jndiTemplate"/>
            <property name="jndiName" value="jms/ConnectionFactory"/>
        </bean>
        <bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiTemplate" ref="jndiTemplate"/>
            <property name="jndiName" value="jms/CompanyQueue"/>
        </bean>
        <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
            <property name="connectionFactory" ref="connectionFactory"/>
            <property name="defaultDestination" ref="destination"/>
        </bean>
        <bean id="taskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor">
            <property name="workManagerName" value="java:comp/env/default"/>
            <property name="resourceRef" value="true"/>
        </bean>
        <bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
            <property name="connectionFactory" ref="connectionFactory"/>
            <property name="destination" ref="destination"/>
            <property name="messageListener" ref="receiver"/>
            <property name="taskExecutor" ref="taskExecutor"/>
        </bean>
        <bean id="sender" class="model.logic.JMSSender">
            <property name="jmsTemplate" ref="jmsTemplate"/>
        </bean>
        <bean id="receiver" class="model.logic.JMSReceiver"/>
    </beans>To test create a servlet, for example,
    public class TestServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            JMSSender jmsSender = SpringUtilities.getJMSSender();
            jmsSender.sendMessage();
            System.out.println("message send by the testservlet");
    }and web.xml as
    <web-app ...>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-config.xml</param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <!-- default weblogic work manager -->
        <resource-ref>
            <res-ref-name>default</res-ref-name>
            <res-type>commonj.work.WorkManager</res-type>
            <res-auth>Container</res-auth>
            <res-sharing-scope>Shareable</res-sharing-scope>
        </resource-ref>
        <!-- default weblogic timer manager -->
        <resource-ref>
            <res-ref-name>tm/default</res-ref-name>
            <res-type>commonj.timers.TimerManager</res-type>
            <res-auth>Container</res-auth>
            <res-sharing-scope>Shareable</res-sharing-scope>
        </resource-ref>
        <servlet>
            <servlet-name>TestServlet</servlet-name>
            <servlet-class>test.TestServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>TestServlet</servlet-name>
            <url-pattern>/testservlet</url-pattern>
        </servlet-mapping>
    </web-app>with this set-up the JMS clustered and Spring is able to use it on both servers.

  • Singleton or servletcontext??

    Hi,
    For my web app I have a class, NoticeManager, that maintains a hashMap of users and notices. The hashMap key is a unique user id and the object is a Vector of Notice objects. I want all clients to be able to use the same noticeManager instance and all notice objects must have a unique ID.
    I'm not sure how to implement this correctly - my current thinking is
    - Make NoticeManager a singleton
    - Make the noticeManager instance available to all clients using the servletContext getAttribute and setAttribute methods.
    - implement the uniqueID as a class variable that gets implemented using a synchronized method
    Any thoughts/suggestions would be much appreciated
    regards
    Richard

    Implementing a singleton in J2EE is difficult (probably impossible) to do in a manner consistent with the standard in practice. A Singleton is only a unique to a single JVM. However the clustering requirement of a scalable App Server typically bring with it multiple JVM's. This results in multiple Singletons. Now depending on your detailed requirements (for example your choice of a Singleton may be pragmatic rather than absolute) this may or may not cause a problem in practice.
    The Servlet Context offer an excellent alternative. However I think this issue is likely to be resolved (standardised) in latter versions of the J2EE standard. I would therefore hide this behind a ScopeHandler facade, that supports Application, Session, Request and Page Scopes. This will minimise the impact of likely future changes and provides an elegant interface.

  • Issue in Synchronous File Read in clustered environment

    Hi,
    We are using clustered environment (4 managed servers) in Unix. In a OSB 11gR3 proxy service we are using Synchronous File Read. Randomly we are getting the below error. Let us know what could cause the issue. But the same code is working fine in a single stand-alone server configuration.
    Error Code : BEA-380002 , Error Reason : Invoke JCA outbound service failed with connection error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/wsdlPathAndName [ SynchRead_ptt::SynchRead(Empty,body) ] - WSIF JCA Execute of operation 'SynchRead' failed due to: No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content ; nested exception is:
    BINDING.JCA-11007
    No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderNamer/Filename.txt to be processed was not found or not available or has no content Please make sure that the file exists in the specified directory.
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/wsdlPathAndName [ SynchRead_ptt::SynchRead(Empty,body) ] - WSIF JCA Execute of operation 'SynchRead' failed due to: No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content ; nested exception is:
    BINDING.JCA-11007
    No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content Please make sure that the file exists in the specified directory.
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:153)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.sendRequestResponse(JCATransportEndpoint.java:209)
    at com.bea.wli.sb.transports.jca.JCATransportEndpoint.send(JCATransportEndpoint.java:170)
    at com.bea.wli.sb.transports.jca.JCATransportProvider.sendMessageAsync(JCATransportProvider.java:598)
    at sun.reflect.GeneratedMethodAccessor1115.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
    at $Proxy142.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:603)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:538)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:558)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:426)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:670)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatchSync(PipelineContextImpl.java:551)
    at stages.transform.runtime.WsCalloutRuntimeStep$WsCalloutDispatcher.dispatch(WsCalloutRuntimeStep.java:1391)
    at stages.transform.runtime.WsCalloutRuntimeStep.processMessage(WsCalloutRuntimeStep.java:236)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:346)
    at com.bea.wli.sb.stages.impl.SequenceRuntimeStep.processMessage(SequenceRuntimeStep.java:33)
    at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:84)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)
    at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:141)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)
    at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:55)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:1055)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:214)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:96)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:593)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:591)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:590)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:375)
    at com.bea.wli.sb.transports.jca.binding.JCATransportInboundOperationBindingServiceImpl$4.run(JCATransportInboundOperationBindingServiceImpl.java:415)
    at com.bea.wli.sb.transports.jca.binding.JCATransportInboundOperationBindingServiceImpl$4.run(JCATransportInboundOperationBindingServiceImpl.java:413)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.security.Security.runAs(Security.java:61)
    at com.bea.wli.sb.transports.jca.binding.JCATransportInboundOperationBindingServiceImpl.sendMessage(JCATransportInboundOperationBindingServiceImpl.java:413)
    at com.bea.wli.sb.transports.jca.binding.JCATransportInboundOperationBindingServiceImpl.invokeOneWay(JCATransportInboundOperationBindingServiceImpl.java:126)
    at com.bea.wli.sb.transports.jca.binding.JCAInboundRequestListener.post(JCAInboundRequestListener.java:39)
    at oracle.tip.adapter.sa.impl.inbound.JCAInboundListenerImpl.onMessage(JCAInboundListenerImpl.java:170)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:502)
    at oracle.tip.adapter.file.inbound.Publisher.onMessageDelegate(Publisher.java:493)
    at oracle.tip.adapter.file.inbound.Publisher.publishMessage(Publisher.java:419)
    at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.xlate(InboundTranslatorDelegate.java:484)
    at oracle.tip.adapter.file.inbound.InboundTranslatorDelegate.doXlate(InboundTranslatorDelegate.java:121)
    at oracle.tip.adapter.file.inbound.ProcessorDelegate.doXlate(ProcessorDelegate.java:388)
    at oracle.tip.adapter.file.inbound.ProcessorDelegate.process(ProcessorDelegate.java:174)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:349)
    at weblogic.work.ContextWrap.run(ContextWrap.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Caused by: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/wsdlPathAndName [ SynchRead_ptt::SynchRead(Empty,body) ] - WSIF JCA Execute of operation 'SynchRead' failed due to: No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content ; nested exception is:
    BINDING.JCA-11007
    No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content Please make sure that the file exists in the specified directory.
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:259)
    at com.bea.wli.sb.transports.jca.binding.JCATransportOutboundOperationBindingServiceImpl.invoke(JCATransportOutboundOperationBindingServiceImpl.java:150)
    ... 56 more
    Caused by: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/wsdlPathAndName [ SynchRead_ptt::SynchRead(Empty,body) ] - WSIF JCA Execute of operation 'SynchRead' failed due to: No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content ; nested exception is:
    BINDING.JCA-11007
    No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content Please make sure that the file exists in the specified directory.
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:662)
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeOperation(WSIFOperation_JCA.java:353)
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:312)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.invokeWsifProvider(JCABindingReferenceImpl.java:350)
    at oracle.tip.adapter.sa.impl.JCABindingReferenceImpl.request(JCABindingReferenceImpl.java:253)
    ... 57 more
    Caused by: BINDING.JCA-11007
    No Data to process.
    No Data to process.
    File /root/oracle/domains/osb/11.1.1.4/cluster/data/osb2/FolderName/Filename.txt to be processed was not found or not available or has no content Please make sure that the file exists in the specified directory.
    at oracle.tip.adapter.file.outbound.FileReader.readFile(FileReader.java:277)
    at oracle.tip.adapter.file.outbound.FileReader.executeFileRead(FileReader.java:181)
    at oracle.tip.adapter.file.outbound.FileInteraction.executeFileRead(FileInteraction.java:331)
    at oracle.tip.adapter.file.outbound.FileInteraction.execute(FileInteraction.java:395)
    at oracle.tip.adapter.sa.impl.fw.wsif.jca.WSIFOperation_JCA.performOperation(WSIFOperation_JCA.java:529)
    ... 61 more
    Edited by: 842347 on Jul 6, 2011 3:11 AM

    I face the same issue and I have given all permissions to the folder for OS user.
    Because of this error my server is not starting up . Is there any way I can undeploy this composite to get my server running.
    I cant do this from EM because SOA server is failing to start up.
    I have tried removing it from $DOMAIN_HOME/deployed-composites but still when i try restarting the soa server the composite comes up there. Do we need to delete the entry some where else too. Kindly help.
    Thanks,
    Sri.

Maybe you are looking for

  • Flex 4 beta tutorials great--but...

    I went through the tutorials at http://www.adobe.com/devnet/flex/articles/fcf_getting_started_coldfusion_flex_02.html and was very quickly able to get the sample (and some of my own cfc's) to work on my local pc. What I've been struggling with for da

  • Problem with User Defined Second Selection Screen

    Hi Gurus,                    I have a problem with the selection  screen selections. My requirement is that , User when he selects a check box on the main selection screen ( which is 1000) then at the at-selection event, another screen (whose number

  • Switcher has question about DVD Label Printing

    I recently switched from Windows to Mac Mini. I really have enjoyed the Mac experience. One thing I haven't found though is a way to print DVD labels via a Mac application or via Mac Office. Is there a way or must I get a third party app?

  • Material where it is used list,

    Hi All, how to create the material where used list , i check CS15 transaction , but it display the assmy and the final product in which the material is used. i need the final product in the display. how can i do it. which FM is useful for this issue.

  • Grey border with cross? (BT/Yahoo Mail)

    I've just seen something that I've never come across before. I sent an email to someone who sent their reply using the BT/Yahoo web mail service. When I clicked on reply, all seemed as normal but when I click inside the quoted text in order to inters