Shared Session Data

Hello Everyone,
I have a problem that I could not seem to find a solution or best methods and practices for.
I have session level data abstracted by a package API and accessed query-inline via a table function. All this works fine; however, there is one caveat that does not. The query SQL is passed to a jobs table and executed by a scheduled job. So the job session can not see the user session data.
Is there a way to:
1) Share Session data?
2) define a table as containing Session temporary data, but public scope?
3) Group Sessions or grant session privileges (to share scope)?
4) Run a process/job under a different Session ID, or with specific Session privileges?
5) Call a procedure or function from one session, but have it Execute under a different session?
As it stands, I can either copy the data out to a permanent table (and manually implement Session ID, and Session level cleanup), change the current API and underlying global temporary table to a permanent table (and again manually implement Session ID, and Session level cleanup), or before job scheduling parse the SQL, and expand the function table data into the SQL statically.
None of these are solutions I like. I am looking for something more elegant. Any suggestions would be appreciated.
*EDIT: sorry, I forgot to add; I'm using Oracle 10g.
Thank you for your time.
Edited by: user10921261 on Mar 20, 2009 11:57 AM

Aequitas wrote:
I have session level data abstracted by a package API and accessed query-inline via a table function. All this works fine; however, there is one caveat that does not. The query SQL is passed to a jobs table and executed by a scheduled job. So the job session can not see the user session data.Correct. As a job is a brand new session that is created to execute the supplied PL/SQL code. This process does not create the session by inheriting the environment (name space details, temp tables, transactions) of the session that submitted the job.
Imagine the complexities of this when the session that created the job, terminated 24 hours ago.... would it session state (if kept persistent) still apply? And what about the complexities dealing with the overheads to somehow and somewhere store this session data for the job to re-use.
Nope.. this is not a workable solution (and nor a sensible one), so Oracle does not support it. When a job is executed, a brand new session is created for that job. (not entirely correct at a technical level as the job queue process may already exist and already have a session - but conceptually, think of a brand new session for a job).
Is there a way to:
1) Share Session data?What session data specifically? And what about a session that long since ceased to exist? What about session data that is dynamic and changing? Should then job see the version of that data at the time it was submiited? At the time is started execution? Or the data as it is currently within that session?
2) define a table as containing Session temporary data, but public scope?Does not need to have a "public scope". It can be managed via an API (PL/SQL), using the job number as unique reference number. It is even possible to create low level access control on such a table that only the job and no-one else can even see the data in that table, except for the job.
3) Group Sessions or grant session privileges (to share scope)?Nope.
4) Run a process/job under a different Session ID, or with specific Session privileges?Which session privileges? Remember that each session has two basic memory areas - the PGA (Process Global Area) and UGA (User Global Area). Both are private and non-sharable.
5) Call a procedure or function from one session, but have it Execute under a different session?Nope.
As it stands, I can either copy the data out to a permanent table (and manually implement Session ID, and Session level cleanup), change the current API and underlying global temporary table to a permanent table (and again manually implement Session ID, and Session level cleanup), or before job scheduling parse the SQL, and expand the function table data into the SQL statically.Still not sure what you imply with session data.
In my case I have a process API (running on top of DBMS_JOB ) that developers use to schedule jobs (it manages external processes, mostly used for collecting data from other non-db servers). In some cases, the caller is a Virtual Private Database (VPDB) session - with a name space that contains the keys and tokens and what not that is required for access control and security. The name space cannot be copied across to the job.
So as part of the process API that creates the job, a logon/authentication/authorisation call is added. With the calling session username. This is the same call that would have been made when the user session was created at logon time. And this call creates the name space that contains the keys and tokens required. Thus creating that batch (job) session in the background, uses the same initialisation processing that an interactive session (created from the app server) would use. The code running in that job is oblivious to the fact that the session was not created via an interactive logon from the app server.
None of these are solutions I like. I am looking for something more elegant. Any suggestions would be appreciated.If you truly want an IPC mechanism between two sessions in Oracle, two methods come to mind. Database pipes. Advance Queuing.
This is not really that complex to implement. IPC itself is not difficult. The difficult part is designing the code around cross-session communication and have that work effectively and efficiently. And within the database session context, this can be not only quite difficult to do, but also not always the very sensible thing to do.

Similar Messages

  • Sharing session data ....

    Hi,
    Is there a way to share the same session data between Portal Pages and PHP ( hosted in same IAS) ?
    Thanks,

    ?

  • Servlet Session data being shared

    I have a bunch of servlets tha basically generate reports. The problem I'm having is that when two users run the same servlet at about the same time, one of the reports will be over written by the data of the other report. It almost seems that the users are sharing the same context.
    Is there any way to fix this or do you have ny suggestions, tips as to how to prevent this.
    Thnaks in advance for any help you may provide.

    I ran into a similar problem not to long ago with sessions. I had an instance or global reference to the session object in my servlet. When two or more people used the servlet at just the right time I would get problems where data was getting used across sessions. For example:
    public class FooServlet extends HttpServlet
         HttpSession session;
         doGet(HttpServletRequest req, HttpServletResponse res)
              session = req.getSession(false);
              doStuffWithSessionData();
         doStuffWithSessionData()
              String temp = session.getValue("temp");
              //do some stuff
    }So, person A would connect to the servlet, and their session would be retreived, and the instance reference would get set to their session. Person B would connect at about the same time, their session would get retreived and the instance reference would get set to theirs... right before the getValue("temp") on person A's session is called. So, whatever I was doing for person A would end up using the data out of person B's session. I like to call this a race condition.
    It is important to keep in mind that servlets are accessed by multiple threads concurrently, so you need to make sure your servlets are thread safe. Instance variables that get modified with each request are a very bad, non-thread safe thing and will cause odd behaviour like what you are describing. I speak from experience.
    I fixed the above by removing the instance reference and doing the following:
    public class FooServlet extends HttpServlet
         doGet(HttpServletRequest req, HttpServletResponse res)
                   doStuffWithSessionData(req);
         doStuffWithSessionData(HttpServletRequest req)
              HttpSession session = req.getSession(false);
              String temp = session.getValue("temp");
              //do some stuff
              //NOTE: this works most of the time. However, if the client
              //connects with more than one browser window using the same
              //session, I could run into some trouble here too.
    }That was a quick fix. However, what I really need to do is create a separate class to encapsulate all user session data and access the session and all data through public static synchronized methods on that class, passing it the request object when I do it. That way all data is stored in one object, and that object is used to do all session access in a thread-safe, synchronized manner.
    I hope this information helps you and is understandable. If you have any questions I will try to clarify. Making things thread-safe can be a daunting task.

  • Problem sharing POJO Data Source while exporting

    Hi,<br>
    I have an issue that stops me exporting a report to PDF. I have two reports that share a POJO data source. The POJO is stored<br> in the session. The same POJO is being passed to both of the reports. While one of the them exports it perfectly the<br> other one fails <b>when the reports are opened simultaneously.</b> It does not fail if opened alone. Given below is the error.<br> I would like to know if there are any limitation that would stop exporting a report when sharing a data source concurrently.<br><br>
    8/27/09 8:47:42:791 EDT] 0000003b SystemErr     R log4j:WARN No appenders could be found for logger (com.crystaldecisions.reports.exporters.destination.disk.c)<br>
    [8/27/09 8:47:42:791 EDT] 0000003b SystemErr     R log4j:WARN Please initialize the log4j system properly.<br>
    [8/27/09 8:47:42:900 EDT] 0000003b SystemErr     R com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: An error<br> occured while exporting the report---- Error code:-2147467259 Error code name:failed<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.fb.am.servlets.WSReportServlet.doGet(WSReportServlet.java:46)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at <br>com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)<br>
    [8/27/09 8:47:42:916 EDT] 0000003b SystemErr     R Caused by: com.businessobjects.reports.sdk.d: An error occured while <br>exporting the report
         at com.businessobjects.reports.sdk.b.b.int(Unknown Source)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)<br>
         at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)<br>
         at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
         at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)<br>
         at com.fb.am.servlets.WSReportServlet.doGet(WSReportServlet.java:46)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)<br>
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)<br>
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)<br>
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)<br>
         at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)<br>
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)<br>
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)<br>
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)<br>
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)<br>
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)<br>
         at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)<br>
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)<br>
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)<br>
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)<br>
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)<br>
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)<br>
    Caused by: com.crystaldecisions.reports.exporters.format.page.pdf.a.a: Unexpected exception thrown<br>
         at com.crystaldecisions.reports.exporters.format.page.pdf.b.a(Unknown Source)<br>
         at com.crystaldecisions.reports.a.e.if(Unknown Source)<br>
         at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)<br>
         at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)<br>
         ... 31 more
    Caused by: java.lang.IllegalArgumentException
         at com.crystaldecisions.reports.exporters.destination.disk.c.a(Unknown Source)<br>
         ... 35 more<br><br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at com.businessobjects.reports.sdk.b.b.int(Unknown Source)<br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at <br>com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)<br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)<br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)<br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown<br> Source)
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at <br>com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
    [8/27/09 8:47:42:963 EDT] 0000003b SystemErr     R      at <br>com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
    [8/27/09 8:47:42:978 EDT] 0000003b SystemErr     R      ... 24 more<br>
    [8/27/09 8:47:42:978 EDT] 0000003b SystemErr     R Caused by: com.crystaldecisions.reports.exporters.format.page.pdf.a.a:<br> Unexpected exception thrown<br>
         at com.crystaldecisions.reports.exporters.format.page.pdf.b.a(Unknown Source)<br>
         at com.crystaldecisions.reports.a.e.if(Unknown Source)<br>
         at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)<br>
         at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)<br>
         at com.businessobjects.reports.sdk.b.b.int(Unknown Source)<br>
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)<br>
         at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)<br>
         at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)<br>
         at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)<br>
         at com.fb.am.servlets.WSReportServlet.doGet(WSReportServlet.java:46)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)<br>
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)<br>
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)<br>
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)<br>
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)<br>
         at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)<br>
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)<br>
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)<br>
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)<br>
         at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)<br>
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)<br>
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)<br>
         at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)<br>
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)<br>
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)<br>
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)<br>
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)<br>
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)<br>
    Caused by: java.lang.IllegalArgumentException<br>
         at com.crystaldecisions.reports.exporters.destination.disk.c.a(Unknown Source)<br>
         ... 35 more<br><br>
    thanks
    Ravi Narala

    This is a Plain java object with getters and setters. . Below is the sample
    public class Test_POJO {
         private String advantageDis;
         private int vehCount;
         private int driverCount;
         private String agentNumber;
         private String accountInfo;
         private String accountType; 
         public String getAccountInfo() {
              return accountInfo;
         public void setAccountInfo(String accountInfo) {
              this.accountInfo = accountInfo;
         public String getAccountType() {
              return accountType;
         public void setAccountType(String accountType) {
              this.accountType = accountType;
         public String getAdvantageDis() {
              return advantageDis;
         public void setAdvantageDis(String advantageDis) {
              this.advantageDis = advantageDis;
         public String getAgentNumber() {
              return agentNumber;
         public void setAgentNumber(String agentNumber) {
              this.agentNumber = agentNumber;
         public int getDriverCount() {
              return driverCount;
         public void setDriverCount(int driverCount) {
              this.driverCount = driverCount;
    This object is on the session with values. This POJO is shared by 2 reports. When I run the 2 reports simultaneously. One of them fails. If I try to access one at a time then it works.
    thanks,
    Ravi

  • Verify whether the session data is kept in the Coherence caches

    I have successfully combined the MapViewer application with WebLogic and Oracle Coherence*Web.
    How to verify whether the session data of MapViewer application is kept in the Coherence caches or not?
    All out put show that both of MapViewer and WebLogic server as well as Coherence are running well.
    All the following steps are right?
    The procedure is as the following:
    1. Create a WebLogic domain: Map_domain.
    2. Start the WebLogic domain Map_domain by running startWebLogic.sh script.
    3. Install Coherence.jar as a library on WebLogic.
    4. Copy the coherence.jar in the WAR's WEB-INF/lib directory.
    5. Create a reference to the shared library by modifying the weblogic.xml in web applications WEB-INF directory
    and add the following contents:
    <weblogic-web-app>
         <library-ref>
              <library-name>coherence-web-spi</library-name>
              <specification-version>1.0.0.0</specification-version>
              <implementation-version>1.0.0.0</implementation-version>
              <exact-match>false</exact-match>
         </library-ref>
    <weblogic-web-app>6. Install Coherence-web-spi.war as a WebLogic library.
    7. Install the MapViewer as a WebLogic application.
    8. Start a Coherence cache server using the cmd file web-cache-server.cmd and then start MapViewer application.
    The content of web-cache-server.cmd file:
    @echo off
    @rem This will start a cache server
    setlocal
    :config
    @rem specify the Coherence installation directory
    set coherence_home=F:\coherence
    @rem specify the JVM heap size
    set memory=256m
    :start
    if not exist "%coherence_home%\lib\coherence.jar" goto instructions
    if "%java_home%"=="" (set java_exec=java) else (set java_exec=%java_home%\bin\java)
    :launch
    set java_opts="-Xms%memory% -Xmx%memory%"
    "%java_exec%" -server -showversion "%java_opts%" -cp %coherence_home%\lib\coherence.jar;
    %coherence_home%\lib\coherence-web-spi.war
    -Dtangosol.coherence.management.remote=true
    -Dtangosol.coherence.cacheconfig=WEB-INF/classes/session-cache-config.xml
    -Dtangosol.coherence.session.localstorage=true
    com.tangosol.net.DefaultCacheServer %1
    goto exit
    :instructions
    echo Usage:
    echo   ^<coherence_home^>\bin\cache-server.cmd
    goto exit
    :exit
    endlocal
    @echo onEdited by: jetq on Jan 13, 2010 9:32 AM

    Any opinions are welcome.

  • Lost session data on jsps

    I run a jsp on Tomcat. But the Tomcat says that the session is lost and returns a null pointer. There is no session clear statement in my jsp except its pointing out a null session data.
    It works well when I go to a jsp that comes from a servlet processing. But when I click on link that directly calls on a jsp page, the page doesn't finish loading/errs out.
    What to do with this? This works fine in single-serevr instance. But when it's run on a cluster/shared environment, it doesn't.
    Message was edited by:
    rachehernandez

    I'm new to tomcat itself and to this job :) I'm using tomcat 5.0.28.
    I'm not sure how they do clustering in their setup though.
    It's working fine by in a test standalone mode. I do think there's something wrong with the setup. But how would I know?
    The jsp sometimes work , and most of the times not. It works when you try to refresh the page. It also works when it comes from a servlet call. But when its just an href link, it doesn't. JSP is using an object from the session. It throws an exception when it can't find this object in the session. But when I click on a link that calls a servlet to load a jsp that's using the same session object, how come it can load up.
    What's happening with the session?
    Thanks!

  • Save Session Data

    Hi to all,
    is there a way to save Session Data in  a Bsp application (similar to Php $_SESSION array)?
    or i have to use shared object/export-import memory id  to save temp data in a session (example: Shopping Cart)?
    thanks
    Alessandro

    Hello,
    you can use a statefull bsp with an application class...
    The objects in the class have a lifetime over the whole session.
    regards

  • Dedicated or Shared Sessions?

    I have a 10g SE1 + ASM running in Windows 2003 ES with 4GB RAM with /3GB switch and 7TB JBOD storage. Our custom data mining applications access this database from a grid of 15 servers. Application architecture uses a mixture of hibernate, roll-your-own connection pooling in Java, and daemons with dedicated sessions. In all, we typically have 200 sessions but only 3 to 9 are active at any given moment. Individual queries and transactions range from sub-second to 3 hours in duration.
    I’ve run the system with MTS and in dedicated server mode; it runs either way. I have never tried tweaking multiple shared_servers, dispatchers or circuits.
    Right now it seems to run fine with 200 dedicated sessions, but it does gobble up a lot of unused PGA memory for the inactive sessions.
    In our situation, what is the best configuration, MTS, or shared, or dedicated, and why?

    Mark, I think that physically a shared server process is no different than a dedicated server process in Oracle on Windows - both are threads in the oracle.exe process image.
    The only real difference is that one deals directly with the client, and the other with a virtual circuit.
    This then raises the question about the PGA and UGA. As the thread runs in the oracle.exe space, it has direct access to, and uses, the data segment (DS) of oracle. The PGA is likely a dynamic memory allocation - so too the UGA for a dedicated thread, while a shared thread will use the SGA instead (for the UGA).
    Now assuming that my speculation is not far of, there are very little overheads between dedicated and shared server threads on Oracle in Windows - except for the dedicated servers being more and thus more PGAs given the nature of these threads versus shared server threads.
    This is unlike Unix where there is a large physical difference as each process (dedicated or shared) has data segment and code segment. The resource footprint for a process is a lot bigger.
    A concern of mine... Windows is excellent at running threads.. it really strains running lots of physical processes (unlike Unix/Linux). But as threads share the same code and data segments, a single thread running into a severe bug can potentially corrupt the entire physical process image, crashing all other threads in it. At least, this has been my experience doing Windows server development.
    Would be nice to read a technical paper on just how Oracle implements their shared and dedicated server models on the Win32 API.

  • Session data is not unique when using SYS_CONTEXT in web service applicatio

    Hi, I am using DBMS_SESSION.SET_CONTEXT in my web service application to set session variables which--according to the documentation, if I understand it correctly-- are supposed to be unique to each session. But if I change the variables from a browser on one client machine, I can then see the changes when I connect from a browser on another client machine. Do all calls to my web service connect to the database as the same session? What happens when multiple clients are connected? I also use global temporary tables in my application. My assumption was that each client that connected would have a unique session. But this doesn't appear to be the case?...or is there something I am missing?

    This has been logged as a bug and was upgraded to severe in March, but nothing has been done on it as far as I am aware. Beware this bug also affects global temporary tables--the same session and everything related to --including session context variables and global temp tables are shared by every call to the web service.
    Service Request 6067517.994 - SYS_CONTEXT SESSION DATA IS NOT PRIVATE BETWEEN MULTIPLE CLIENT SESSIONS has been updated by Oracle Support with relevant information on 18-JAN-07.
    To view the progress on-line via MetaLink, go to this URL:
    http://metalink.oracle.com/metalink/plsql/tar_main.this_tar?tar_num=6067517.994&p_ctryCode=840

  • Safari Sharing Session Info With Air

    Hi Guys,
    I'm having issues with safari sharing session information
    with my air application. What i'm doing is using a URLLoader to
    send a URLRequest to a web server. When I send the request in my
    app, AIR is applying its own header vars to the request. When i try
    to prevent this by setting URLRequest.manageCookies to false, I
    lose some of the custom header variables that are sent by the
    server in the response. Is there any way of preventing air from
    cookie sharing and still retrieve all the header variables
    including cusom vars?

    This crash seems to be caused by a bug in iCloud. The only workaround that I know of at the moment is to disable Safari synchronization in the iCloud preference pane. Sync bookmarks with iOS devices in iTunes instead. You may also need to do as follows.
    Back up all data.
    Triple-click the text on the line below to the clipboard, then copy it to the Clipboard (command-C):
    ~/Library/Safari/Bookmarks.plist
    Quit Safari.
    Select
    Go ▹ Go to Folder
    from the Finder menu bar. Paste into the text box that opens (command-V), then press return.
    A folder window should open with a file named "Bookmarks.plist" selected. Move the selected file to the Desktop, leaving the folder open.
    Relaunch Safari. It will open with the default set of bookmarks. Delete them all. Select
    File ▹ Import Bookmarks
    from the Safari menu bar. Import from the bookmarks file you moved to the Desktop. Arrange the bookmarks as you wish.
    If Safari now performs normally, you can delete the old bookmarks file. Otherwise, quit Safari again and put back the file you moved, replacing the newer one with the same name. Close the Finder window and post again.

  • Session backing beans and multiple navigator windows sharing session

    Hi let's suppose i have a web and page1, page2 and page3 that should share the backingbean. Normal navigation goes from page 1 to page 2 to page 3.
    I do not want a backing bean per page because i need to share data between my pages. The immediate solution is to put this bean in session context and use it in each page. But this has severe drawbacks:
    - The backing bean is the same each time I access any page, and I want a new bb to be used each time the user requests for page 1
    - When a user has more than one navigator window sharing session, and on each window he is navigating through pages 1 to 3, there can be a big mess because he is accessing to the same bb from both windows.
    So I would like to find a solution that permit the user to navigate from both windows as if the windows had its own session.
    Any hint?
    Thnx

    I have a similar problem as described .
    I hava one window with enterable fields and when you click on a button it opens another window .Both forms are backed by the same bean .since both forms are nearly the same .
    The bean is a managed bean in request scope .
    when I fill in the first window with values and click on the link it opens the second but the first windows elements and now empty .
    Even though it is in Request scope when the second window is being loaded the bean is re-initialized . I would expect a new intance of this bean to be created for the second window .
    This is how I am calling the second window .
    <h:commandButton id="newRequestItem" action="#{requestItem.createNewRequestItem}" rendered="#{createActivationRequest.displayCreateLinks}" onclick="openNewPage('NewRequestItem.jsp');"
    image="images/show_all.gif" title="new request">
    <h:outputText value="new request" styleClass="toolbar-command"></h:outputText>
    </h:commandButton>
    function openNewPage(url)
         aqcbwin= window.open(url, "newRequestItem","toolbar=no, scrollbars=1");
    aqcbwin.moveTo(50, 50);
    target="_new";
    //target="_blank";
    aqcbwin.focus();
    any ideas to what is wrong and how I can correct this .
    Thanks for your help .
    Mark

  • How do I access session data through an EJB?

    Hi
    How do I access session data through an EJB?
    I am currantly developing a Web service (using ejb's, JBoss.net and Apache Axis). A client making a call to this Web service, is expecting a bussiness-object in return. My problem is that this bussiness-object i stored in a users session data. How do I retrieve this bussiness-object from the users session.
    I have read that this does not work with httpsessions, is this true? If this is true, is it possible to store the bussiness object in a JavaBean e.g:
    <jsp:useBean id="userContextWebImpl" scope="session" class="com.ac.march.client.UserContextWebImpl">
    <%
    String key = "test";
    String value = "This is the value";
    userContextWebImpl.setValue( key, value1 );
    %>
    </jsp:useBean>
    and then retrieve this information through the EJB? Or is it possible to do this by using Statfull JavaBeans? Or can this be done through a nother solution?
    Please help!

    I have created a JavaBean with scope="application" to store some data. The data is stored when a user prefomes a spesific task.
    A different person then makes a call to a Web-Service on the server. The Web-Service then asks an EJB to retrieve the data stored in the JavaBean (servlet cotext). In other words: How do I retrieve this data from the EJB?
    I have tried with this code, but with no luck.
    (ApplicationContextWebImpl is the JavaBean)
    public static String getBookingResult( String key )
         String myResult = null;
         String myKey = key;
         ApplicationContextWebImpl applicationContextWebImpl = null;
         try
              applicationContextWebImpl = new ApplicationContextWebImpl();
              myResult = (String)applicationContextWebImpl.getValue( key );
         catch ( java.rmi.RemoteException e )
         return myResult;
    }

  • Waveburner;  a few Questions regarding track files and Session Data

    After a bit of negotiating, I'm almost ready to burn. Was having problems with file locations and discovered that i had multiple files in different locations. Those have been eliminated and all relative track files are in one place now with the Song Data File as well.
    I then re-imported the individual aif tracks only to find that all of my fades and edits are GONE. It appears that I may have to DO THEM ALL OVER AGAIN! Please tell me that there is a work around.
    Is it possible to import only the Session Data related to the fades and edits(everything but the actual audio files), so as to avoid all this "do-again" work?
    I was also wonder if it is necessary, or perhaps a good idea, to change the File INFO for each of the individual audio track files from "OpenWith" iTunes (default setting) to "Open With": WAVEBURNER ?. (selectable on the aiff files, "Show More Info" window
    Currently the aif files are set to "OpenWith" iTunes (default)
    One last question please.
    Is Waveburner really up to snuff? How many people are using this for Mastering and Burning CD's? I'm about to start inserting some AU Mastering Plug Ins and I'm hoping for the best. Any other suggestions are greatly appreciated.
    G5 Dual 2.0/PBook G41.5Ghz/LogicPro7 Live5 Reason3.0 PansncDA7 TascamFW1804   Mac OS X (10.4.7)  

    You're grammer isn't bad jord, it was I who asked a plethora of questions under one Subject heading.
    When i open the project file(.wb3),
    The prompt says;
    "Please choose a replacement from the list below:"
    /Volumes/320GB HD/Users/ahuihou/.Trash/1 Track 01.aiff
    /Volumes/320GB HD/Users/ahuihou/.Trash/2 Track 02.aiff
    /Volumes/320GB HD/Users/ahuihou/.Trash/3 Track 03.aiff
    /Volumes/320GB HD/Users/ahuihou/.Trash/4 Track 04.aiff
    /Volumes/320GB HD/Users/ahuihou/.Trash/6 Track 06.aiff
    As you can see the files are in the trash.
    The first problem is that there are no actual files in the trash. Just an icon of a CD Disc which was dragged there to eject it, It is no longer in the disc drive/tray. Perhaps i should put the disc back in the drive and then update/replace the files afterwords. (The CD is scratched.)
    The strange thing is that i can still preview the track that's in the trash by selecting More Info and playing it on the little Quicktime player bar. I guess the file is in a cache somewhere?
    I've looked everywhere on all drives for the specific files but can not find them anywhere.
    In the Replacement prompt there is a place that I can check to "Search in the same folder for subsequent files" button on the "Replacement" prompt.
    which "same folder" is it refering to?
    The Trash folder where the old files are or the Folder where the actual .wb3 project file is? I do have all of the correctly named song files/regions in the same folder with the project file.
    maybe i should just start again. i'm not one to give up easy though and would much prefer to "beat" the computer at the game.

  • How can we reset the session data in SAP ISA B2B application.

    com.sap.isa.isacore.action.IsaCoreInitAction$StartupParameter this action class providing the special feature to store all data passed to it in the request as parameters into the session context and make them available for all other actions.
    1. But in the inner class they had defined private parametrized constructor.
    2. Action class is defined as final.(there is no chance to override the method)
    3. There is no setter method (only getter() is available).
    4. Creating a new Z_ class that is reflecting in entire application.
    5.They had hard coded the Session attribute name in Action class.
    6. Application is expecting a session object with the same attributes.
    Is there any chance to create a new object for this class or any where any chance to reset the session data. Am using the Multiple_SoldTO concept in my application. My back end ECC .Please help me.
    Advanced Thanks
    PC.M
    Edited by: pmudigonda on Jul 6, 2011 1:21 PM

    I am not sure about your requirement, but yet.. Did you check UserSessionData object? It encompasses all the session variables.

  • Could not deserialize session data, java.io.InvalidClassException

    Whenever I click on logout link from Liferay(Which deployed as application on Weblogic 10.3),It shows below Exception in the console however i am able to logout sucessfully.
    Could not deserialize session data.
    java.io.InvalidClassException: org.hibernate.proxy.pojo.javassist.SerializableProxy; local class incompatible: stream classdesc serialVersionUID = 1180036893511205383, local class serialVersionUID = -2265249369383210104 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:560)
    It seems to be Classpath polluted with different hibernate jars.But still not able to figure it out.Below is the jar files which i have in classpath.
    hibernate-annotations.jar
    hibernate-commons-annotations.jar
    hibernate-core.jar
    hibernate3.jar
    Application Server: Weblogic 10.3
    Any Help would be much appreciated.

    Sounds like you have two different versions of a class in the two applications.
              If you change a class implementation and recompile - the updated class gets a new UID. Looks like maybe one app has a jar with the older class and the other app has a jar with the new class.

Maybe you are looking for

  • Oracle 8i,9i on Athlon 1,2GHz with Win2000

    Hi there. I tried to install Oracle 8i on an Athlon 1,2GHz-CPU using Win2000. As I failed - during the DB-Configuration Assistant -> ORA 03113(end of file on communication channel) - I was suggested to try Oracle 9i (As I know, there is a known bug o

  • Bean not found within scope error

    I am getting the error "bean jspbean not found within scope error". I am using JBuilder 5.0. I thought that I had set up my paths and placed my code in the correct directories but it seems that I am missing something. I was developing in Visual Age f

  • "album of albums" in Photos?

    I cannot find a solution to this problem. Perhaps you can help. I have nested folders of images that I want to import into the iPad. The main level is, say, A. Within A are folders B, C, and D all of which are at the same level. So, expanded, what I

  • [SOLVED]JDBC Dynamic credentials problem

    Hello everyone. I have been trying to implement Steve Muench example 14 about JDBC Dynamic Credentials on my own web app., I am using Jdeveloper 10.1.3.2 and JSF/ADF. The thing is that the JDBC dynamic credential works well but when I enter a non-exi

  • I have a need to update my OS. Should I go slowly and move to Lion (10.7) or go full blast and update to Yosemite (10.10)?

    I have a need to update my OS from 10.6.8. Should I go slowly and move to Lion (10.7) or go full blast and update to Yosemite (10.10)?