JPA Project, TopLink Server session and ClassLoader issue

hi,
I'm working on the project where JPA annotations are used to describe the mapping between POJOs and the database tables. JpaHelper class is used to bridge the gap between toplink-essentials and toplink. The EntityManagerFactory and the oracle.toplink.threetier.Server are obtained as following:
emf = JpaHelper.getEntityManagerFactory(Persistence.createEntityManagerFactory("myUnit"));
server = JpaHelper.getServerSession(emf);
Due to different functional and architectural constraints the same Server session has to be shared across different web applications. Thus the EntityManagerFactory has been bound to Weblogic JNDI tree and used by web applications to obtain Server session. It works very well for the very first client that is trying to query the data, but due to the fact that in the web container different web applications are using different ClassLoaders the QueryException “Missing descriptor for [class ...]” is being thrown for all consecutive call from other web applications. The same behaviour is observer after re-deploying the “first” application.
Going throughout different threads in the forum I learned that it could be solved for the "pure TopLink" projects where “sessions.xml” is used as following:
oracle.toplink.internal.helper.ConversionManager.getDefaultManager().setShouldUseClassLoaderFromCurrentThread(true);
boolean shouldLoginSession = true;
boolean shouldRefreshSession = true;
boolean shouldCheckClassloader = true;
session = SessionManager.getManager().getSession(new XMLSessionConfigLoader(), "mySession",
Thread.currentThread().getContextClassLoader(), false, true, true);
Could you please let me know if there is something similar for JPA projects where “sessions.xml” isn’t used or other options have to be considered?
regards,

I am not completely sure I understand what product and version you are using. TopLink Essentials and Oracle TopLink are independent products. They share the same heritage and much of the same functionality but typically you would only use one of them in an application.
If you have multiple web applications (WAR) that need to share the same JPA persistence unit I would package all of the JPA classes in their own JAR file and co-locate all of these WARs with the persistence JAR in a single EAR file. This should give you the capability to share the classes across the web applications.
Doug

Similar Messages

  • Integrated ITS: multiple sessions and locking issue

    We are upgrading to ECC 6.0 from 4.6C and have Integrated ITS turned on. We have built a custom PZM3 as one entry and exit point for our ESS services. But we have issues with session management when navigating between some services like PZ14 and PZ02. The PZ14 session and the corresponding lock are not released upon going to the PZ02 service directly. But this happens for only some services. If you navigate between PZ02 and PZ12 it works fine. I followed the instructions of note# 959417, but it didn't work. Not only it is causing locking issues, but also memory usage issues as multiple user sessions are being created on the server. I did check some of posts similar to this one, but the issue still persists.
    Our WAS release: 7.00; ABAP support package: SAPKB70009; Patch level: 75.
    I would appreciate if anyone could shed some light on this issue. Thank you for your time and consideration.
    Kshitij

    Our Basis admin found out that using a parameter ~DISCONNECTONCLOSE = 1 would resolve most of this issues -- and it did. But now we are having issues with some users having popup blockers turned on. We referred to SAP notes 892250/596698-- followed it -- implemented it-- but some users
    still have issues -- like today while working from home via VPN, I am having issues with session management. But working from office yesterday,
    the sessions worked just fine.

  • How to check server hardware and OS issue without offline DB server

    Hi Experts,
    For checking hardware issue, do we have any way to check server hardware and OS performance without offline server?
    any way we could rule out bad hardware causing the problem without offline server?
    Thanks
    Jim

    I think your answer depends on the nature of the hardware issue you think you may be having, whose hardware you have, and the OS your are running on that hardware. Such as on UNIX there are several error logs that record errors related to the system including detected hardware issues and you have numerous utilities like vmstat and iostat that can be used to measure performance. Some disk units linclude their own diagnostics modules you can run.
    If you really want help I think you have to be a lot more specific about the problem you are facing.
    HTH -- Mark D Powell --

  • Lion Server Admin, Server, connection and authentication issues.

    I'm going out of my mind... I'd appreciate any help
    Mac OS X Server 10.7.2
    Mac Mini Server (no optical drive.  dual hard drives) 2.66 C2D / 4GB RAM
    So... I open Workgroup Manager, select menu: Server > Connect.  Then Enter:
    Address = Server.local
    User Name = Server Administrator
    and my password.
    Press the Connect button and it successfully opens the Workgroup Manager window and I can edit users etc. all perfecty fine.
    I can also confirm that the Server Administrator user has "administer this server" ticked on.
    Now the trouble begins...
    I open Server (ie. the new Lion Server application).
    It shows me the "Choose a Mac" window.  Two entries:
    1. "This Mac - Server"
    2. "Other Mac"
    I click the first entry & it slides down the sheet for entering username and password.  I enter exactly the same details as above and the sheet shakes left and right, essentially behaving as if I'd entered the wrong password.  Despite the fact that it's the same password as above.
    I try it from another machine as well, just to be sure, and I get the same result.
    Then I open Server Admin.
    At some point recently, I recall having essentially the same problem.  An attempt to connect to the server shook the authentication sheet essentially suggesting wrong password.
    More recently, Server.local now doesn't even show up in the Available Servers section.
    If I try Add Server from the Server menu. Then Enter the same details above I get a  "Could not connect..." message.
    So... I'm kinda baffled.  What on earth is going on?  The three different apps are telling me different things.  One works perfectly, one says it's running fine but I can't authenticate, and the other says it doesn't even exist.
    For what it's worth, I've tried using Workgroup Manager (the one thing that will connect and authenticate) to change/reset the password for the Server Administrator user, but no matter what I set it to I'm still getting all the same results as above.
    If anyone can give me any help here I'd be very grateful!!
    Thanks!
    David.

    Is there really no one who can help me with this? 

  • Starting a managed server session and keeping the session when you exit

    I created a managed server named "xxx_mgd" with the create managed server wizard in the admin console
    when I start the managed server it produces a prompt for the username and password, whcih is the same username
    and password entered when i was created. The issue I have is that when I exit the session, the process dies.
    In comparison to the starting of the admin server, which is started with custom scripts which calls the standard wl startup scripts and it runs in background using nohup....
    Is there away to start my managed server the same way, so that it stays running when you exit. I have tried running it as the admin server, using an option where the password if fed, but it dies and never startup
    If you have any clue let me know
    Joseph

    Assuming that you are running WebLogic version 9.x and above.
    Copy the "security" folder inside DOMAIN_HOME/servers/AdminServer directory to DOMAIN_HOME/servers/ManagedServer directory.
    This security folder will have boot.properties file which contains encrypted username and password which is used when starting the server.
    You can run Admin Server in background using nohup command as below from DOMAIN_DIRECTORY. This command will redirect stdout to AdminServer.out file.
    nohup ./startWebLogic>>AdminServer.out &
    You can run Managed Server in background using nohup command as below from DOMAIN_DIRECTORY/bin folder. This command will redirect stdout to ManagedServer.out file.
    nohup ./startManagedWebLogic.sh <Managed Server Name> t3://<AdminServerListenAddress>:<PortNo> >>ManagedServer.out &
    Hope this helps.
    - Tarun
    Edited by: Tarun Boyella on Feb 3, 2011 2:09 PM

  • Drivers for Windows Server 2008 and HDD issues

    Recently I have had the hard drive with my OS fail. After replacing the hard drive and reinstalling windows server 2008 I seem to have run into a few issues with drivers.  After insalling Windows, I had 3 items in my device manager that did not install properly. I was able to get the driver for the LAN port to work but I have not gotten the driver for "Standard VGA Graphics Adapter" and "SM Bus Controller". After a little research, I believe the video card is a Radeon HD4350. With that information I still have been unable toinstlal the correct drivers for either of these items. I've tried several drivers listed on the drivers support page on HP's website but all fo them return the same error about not finding the correct Operating System. The link to the driver I used originally on my previous installation seems to not be valid any longer.
    Also I can't seem to access the two additoinal hard drives (connected by sata). They were used with the previous installation of windows with no issues. They appear in the device manager but do not show up under My Computer. A removeable drive does show up that I'm not sure what it is. Previously I had used software to mirror one of the drives onto the other as to prevent losing data if a drive would fail. Is one of the above drives causing the issue with not being able to access the drives or did the software used before cause the problem?
    Any help on these issues is greatly appreciated.
    This question was solved.
    View Solution.

    OK.
    I can't help you with the drives then.  That is out of my realm of knowledge.  If they are marked healthy and active in the disk management utility, then that is all I know that they should be indicated.
    As for the graphics driver...
    Download and install this free file utility.
    http://www.7-zip.org/
    After you install 7-zip, right click on the graphics driver file and select 7-zip from the list of options.
    Select 7-zip to Extract to: and let it extract the file into a folder.  I let it extract to the file name of the folder.
    Then just follow the rest of my instructions to install the driver. 
    Of course you will first browse to where 7-zip has extracted the folder to, and proceed from there.

  • Trying to finish project on Premiere Pro and having issues...

    Hi everyone,
    I'm having multiple issues on Premiere Pro and have gone through all the troubleshoots, and obvious Adobe is closed on the weekend, so was wondering if there was someone out there who was well-versed in this program to guide me through it. I know it just from editing on it, but am by no means an expert working with it. Thanks in advance...

    Some of this has been addressed in other responses, but I thought I’d take a stab what what’s going on item by item.
    ***Fonts
    Chalkduster is a Mac TrueType font that’s included with Mac OS X 1.6 or newer.  Being that Fonts are platform specific, I can think of the following two options:
    1. Find someone running Mac OS X 10.6 or newer with a utility that can convert Mac TrueType to Windows TrueType and then install the converted font on your Windows system. The Titles should look very close to what you expect them to look like and you can still make edits to them.  Or,
    2. Find someone with the same version of Premiere Pro that the original project file was saved in (or a newer version) running Mac OS X 10.6 (or newer) who can open the project file and save each Premiere Pro Title as PNG file.  Then, replace each Premiere Pro Title with the corresponding PNG file in your current Sequence.  You don’t need to send the person all of your media as the Premiere Pro Titles are part of the project file itself.  Of course, you won’t have editable text with option 2, but the titles should appear as expected.
    ***Color is screwed up
    If this is a 3rd party effect that’s not installed on your system, it may be a simple matter of installing that plug-in to restore the color such that it appears as expected.
    Select one of the clips that has unexpected color and click on the Effect Controls tab.
    Under “Video Effects”, you’ll see Motion, Opacity and Time Remapping.  Anything listed after that is an Effect that has been applied to the clip. 
    Does it show that anything is missing?  (If I remember correctly, the effect name will appear in italics with the word “missing”.)
    If something is listed and there’s a Windows version of that plug-in, you’re probably in good shape for restoring the color.
    Of course, there's always the possibility that you may need to restore the color to appear as expected from scratch.
    ***Opened Sequences vs. Imported Sequences
    It sounds like you’re opening a Sequence from within the Project rather than importing one.  You are probably also opening a rendered cut that was exported as a movie and then imported back into the project.
    You’ll want to find the Sequence that is your most recent cut and make a duplicate of it (assuming that there is a Sequence with your entire assembly from first frame to last frame).
    To make a duplicate, select the Sequence in the Project panel and then choose Edit > Duplicate.
    For Sequence names, I highly recommend the following naming convention:
       Project_YYYY-MM-DD_000_XX
    For example, the fourth version of a cut edited today by me on a project named Cross Platform Nightmares” would be named “Cross_2014-10-04_004_WH”.
    ***Various Versions of Premiere Pro
    Opening an older version of Premiere Pro in a newer version _usually_ goes smoothly.  Your problems are a mixed back of cross platform issues, media 3rd party plug-in issues, and file organization issues.
    ***Linked Media
    It’s unfortunate that you had to relink your media.  That’s a time consuming process.
    From what you’ve described, the links most likely broke because the project file was moved from where it was originally at the Finder level rather than via File > Save As…” from within Premiere Pro.
    Latham, do you happen to have a budget to hire an experienced, cross-platform editor?  Based on where you’re at, it sounds like you need someone with a good deal of experience cutting in Premiere Pro on both Mac and Windows.

  • Verizon call assistant "server down" and login issue

    i downloaded the software a month ago & keep getting the server is down message.  i was told that the vca app is in the middle of an ungrade and therefore the app wasn't working.  i'm still unable to login.  am i doing something wrong?  do i need to register a new user id and password for vca?  i'm assuming the login in is the same as what i use to log into myverizon.com
    thanks
    Message Edited by ElizabethS on 07-21-2009 06:00 PM

    Hi there.  You mention that you downloaded the VCA software but are unable to login.  My first question is basic - where did you download the software from?  Did the link come to you in an email from our business office?  The reason I ask is that if you did not receive an email with the link, you might not be correctly registered.  If you are not correctly registered, the folks that would handle that are at 866-697-0853.  If you are registered, than let me know and we will continue to work. 
    Thank you! 
    Brian K
    Verizon Telecom
    Fiber Solution Center
    Notice: Content posted by Verizon employees is meant to be informational and does not supercede or change the Verizon Forums User Guidelines or Terms or Service, or your Customer Agreement Terms and Conditions or Plan.

  • Need help with Java SE TopLink JPA project

    I'd like to ultimately run an Oracle stored procedure (connecting to Oracle 10g DB) in my Java SE program. I want to use TopLink JPA (11g) and if possible, use sessions to manage things - i.e. I want to run a stored procedure (that doesn't return anything), then run a native query. Does anyone have a good example of this type of configuration?
    I've been able to get it working with plain ol' JPA via TopLink - i.e. my persistence.xml is fine. Obviously, JPA doesn't define stored procedures, so I need to set it up to use stored procedures. I tried setting up my sessions.xml file - I think it's OK. However, I think my project.xml file is incorrect - and I don't think I even really understand it. But I want a project.xml that is very simple - does anyone have a simple, bare-bones project.xml example. All I plan to do is run the occasional stored procedure and run native queries (for now).

    If all you want to do is create extra stored procedure queries then you might want to consider just creating a customizer and adding some queries there. Then you won't actually need to create a project at all.
    Use the toplink.session.customizer property described at:
    http://www.oracle.com/technology/products/ias/toplink/JPA/essentials/toplink-jpa-extensions.html
    and then add some queries to your session. To make it even easier, then just define your queries in JPA, and override the call in your customizer. For example, if you defined a JPA named query called "Employee.executeStoredProc" then in your customizer method you could have something like:
    public void customize(Session session) {
    DatabaseQuery query = session.getQuery(“Employee.executeStoredProc”);
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("employee_stored_proc");
    query.setCall(call);
    Then when you call your JPA query the stored proc will run.

  • UnitOfWork and server session cache

    Hello,
    seems like in some situations UoW does not update server session cache:
    SessionManager manager = SessionManager.getManager();
    Server server = (Server) manager.getDefaultSession();
    Session client = server.acquireClientSession();
    UnitOfWork unit = client.acquireUnitOfWork();
    // stored procedure call preserves caching !
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("security.set_current_user");
    call.addNamedArgumentValue("p_user", 123);
    unit.executeNonSelectingCall(call);
    // these objects should always be cached (if caching is enabled) !
    List list = unit.readAllObjects(Naudotojas.class);
    unit.commit();
    client.release();
    server.release();
    The presented source code executes stored procedure and read query within singe transaction. Problem is that selected data is not cached. But if stored procedure call is removed, then records will be cached. Is it expected behaviour ? That workarounds could be applied to force caching ?

    When the first modify call is performed in a UnitOfWork it then assumes that the transactional state of the database is transient and therefore and data read could be non-committed. At this point it is not safe to load the objects into the shared cache.
    If you are attempting to make use of VPD security you should read up on the support offered in TopLink. It will give you additional call-backs for setting the user credentials.
    Doug

  • Windows Server 2012 R2 NIC Teaming and DHCP Issue

    Came across a weird issue today during a server deployment. I was doing a physical server deployment and got Windows installed and was getting ready to connect it to our network. Before connecting the Ethernet cables to the network adapters, I created a
    NIC Team using Windows Server 2012 R2 built-in software with a static IP address (we'll say its 192.168.1.56). Once I plugged in the Ethernet cables, I got network access but was unable to join our domain. At this time, I deleted the NIC team and the two network
    adapters got their own IP addresses issued from DHCP (192.168.1.57 and 192.168.1.58) and at this point I was able to join our domain. I recreated the NIC team and set a new static IP (192.168.1.57) and everything was working great as intended.
    My issue is when I went into DHCP I noticed a random entry that was using the IP address I used for the first NIC teaming attempt (192.168.1.56), before I joined it to the domain. I call this a random entry because it is using the last 8 characters of the
    MAC address as the hostname instead of the servers hostname.
    It seems when I deleted the first NIC team I created (192.168.1.56), a random MAC address Server 2012 R2 generated for the team has remained embedded in the system. The IP address is still pingable even though an ipconfig /all shows the current NIC team
    with the IP 192.168.1.57. There is no IP address of 192.168.1.56 configured on the current server and I have static IPs set yet it is still pingable and registering with DHCP.
    I know this is slightly confusing but I am hoping someone else has encountered this issue and may be able to tell me how to fix this. Simply deleting the DHCP entry does not do the trick, it comes back.

    Hi,
    Please confirm you have choose the right NIC team type, If you’ve previously configured NIC teaming, you’re aware NIC teams usually require the assistance of network-side
    protocols. Prior to Windows 2012, using a NIC team on a server also meant enabling protocols like EtherChannel or LACP (also known as 802.1ax or 802.3ad) on network ports.
    More information:
    NIC teaming configure in Server 2012
    http://technet.microsoft.com/en-us/magazine/jj149029.aspx
    Hope this helps.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • DNS Issues - Can ping server name and IPs but not FQDNs.

    Hi All, 
    Hopefully some one can help me here, I am having an issue where one of my domain attached servers cannot ping any FQDNs in the environment but it can ping the host names and the IPs and look up the host names from a reverse look up. 
    We have done the following troubleshooting:
    Flushed and registered DNS cache.
    Restarted the DNS client and net logon services on the effected server
    Preformed standard checks and commands such as:
    Checked the event logs and found there were warnings for DNS registration.
    Compared the DNS settings in the network adapters across the rest of the servers in the environment and found that they were all the same. DNS Suffixes are added in the correct order and are set to register.
    Pinging FQDNs which is not giving any results.
    Tracert FQDNs which is also not giving any results.
    Nslookup which is querying the DNS server directly and giving results as expected
    Ran the command which reported successful: dcdiag /test:registerindns /dnsdomain:sub.domain.net /v
    Checked and updated the permissions on DNS for the affected server to give the server full control of its own DNS entry. 
    Replaced the DNS Client service DLL with one from a server that is working as expected. 
    Also worth noting is that the affected server (as well as every other server in the environment) has 2 NICs, one that communicates with DNS and AD and the other does not have any DNS IPs set. 
    Not this is not the first time this happened, a reboot fixed the issue before but it seems to be a reoccurring problem now. 
    If any one can shed some light on this issue I would be grateful.
    Regards,
    Steve. 

    Hi Steve,
    First, we should confirm if this issue is caused by DNS.
    When you ping the FQDN, does the server show the correct corresponding IP address?
    If no, there should be some error messages. If it is possible, please post the screenshot of this issue.
    To check the process about how does server resolve the FQDN, please follow the steps below:
    clear local DNS cache with command ipconfig /flushdns
    perform the network capture
    ping the specified FQDN
    Check the DNS traffic
    To download Network Monitor, please click the link below:
    http://www.microsoft.com/en-hk/download/details.aspx?id=4865
    Besides, have you tried to update the NIC driver to the latest version?
    Best Regards.
    Steven Lee Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • MS Project 2010 Server - How to move a single MS Project plan and SharePoint Project site from a PWA server to another PWA server (one at a time)

    MS Project 2010 Server
    How to move a single MS Project plan and it's SharePoint project site from a PWA server to another PWA server (one at a time)
    I have 2 Project PWA servers, i know how to copy all the databases (Publishing, Draft, Reporting, archive, content) from one SQL server and copy it to the other PWA server so both server can be identical.
    I need to only move a single project from a PWA server to another, 
    Moving the Project plan, actual time data, SharePoint site with all it's content
    Is there a 3rd party tool that can be added on to the server to help me move single project plans? to different PWA servers?
    -Isaack

    Visit my friends at FluentPro and try FluentBooks
    http://www.fluentpro.com/productsfluentbooks2013.html
    they have a 2010 version also.
    Hope that helps,
    Thanks, Eric S. Pcubed

  • ClassNotFoundException in EJB's and Threads (Classloader issue)

    A very interesting bug has cropped up in WebLogic 6.1. When a J2EE
    application packaged appropriately, a client application running in a
    user-created Thread will always throw a ClassNotFoundException when
    attempting to get back a user-created object from an EJB living on
    another cluster. This error does not happen when the call is being made
    from outside a Thread.
    Sounds strange, I know, so I'll try to give everyone as much detail as
    possible so they can avoid this bug, and so that the folks at BEA can
    fix it.
    * A java class running inside a clustered WL6.1 server is attempting to
    reference an EJB on another clustered WL 6.1 server. Accessing the bean
    is not a problem, the client class is able to obtain a remote reference
    to the bean and make method calls on it. Calling a method causes the
    following stack trace:
    2002-01-11 10:36:57,331 [Thread-4] ERROR
    wpni.app.mywp.display.DisplayJobs$JobsMonitor -
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run: Error checking Jobs
    status.
    java.rmi.UnmarshalException: failed to unmarshal class
    wpni.app.jobs.JobsData; nested exception is:
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This
    error could indicate that a component was deployed on a cluster member
    but not other members of that cluster. Make sure that any component
    deployed on a server that is part of a cluster is also deployed on all
    other members of that cluster
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This error
    could indicate that a component was deployed on a cluster member but
    not other members of that cluster. Make sure that any component deployed
    on a server that is part of a cluster is also deployed on all other
    members of that cluster
    at
    weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:146)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:211)
    at
    weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:290)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
    at
    weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:230)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:254)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:220)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy140.getJobsData(Unknown Source)
    at
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run(DisplayJobs.java:48)
    at java.lang.Thread.run(Thread.java:484)
    * The class that is not found (JobsData) is definitely in the EAR file
    on both the client cluster and the server cluster, and in the
    appropriate location.
    * When we attempted to run the code outside of a Thread, everything
    worked perfectly, so it was definitely the Thread that was causing the
    problem.
    * Deploying the EJB on the client cluster did not do anything to solve
    the problem.
    * Adding the JobsData to the System CLASSPATH at the startup of the
    WebLogic server DID solve the problem. But of course that defeats the
    purpose of packaging everything in the EAR file.
    So, the conclusion seems to be that when DisplayJobs$JobsMonitor kicked
    off the Thread, the Thread should have been created in either the WAR's
    classloader or the JAR's classloader (wouldn't matter, since the
    JobsData class is in the JAR's classloader, which is a parent of the
    WAR's classloader). But instead, the Thread is being created in the
    System classloader, which can't find the JobsData class!
    We believe that any Thread created by a class living within an EAR's
    classloader should remain within that same classloader, and not migrate
    to any other classloader, in order to avoid situations like this. We're
    opening a case with BEA to attempt to get this resolved. In the
    meantime, we recommend to developers that if they have to make
    cross-cluster RMI calls from inside user-created Threads, that they only
    attempt to receive primitive types or standard JDK objects. Otherwise,
    you'll have to add the classes to the System CLASSPATH at startup of the
    WebLogic instance.
    Thanks,
    Erin
    * "[White House spokeperson Ari] Fleischer
    * warned Democrats this morning against
    * investigations into the Bush administration's
    * dealings with Enron. 'The American people
    * are tired of partisan witch hunts and endless
    * investigations,' he said." [Ed.: Uh... ]
    * www.washingtonpost.com/wp-dyn/articles/A25159-2002Jan10.html
    * Erin Reid Myers, Chief Architect
    * WashingtonPost.Newsweek Interactive
    * [email protected]
    * Work: (703) 469-3154
    * Cell: (703) 725-3050
    [att1.html]

    Things can go seriously wrong if your application uses user threads (violating
    EJB spec programming restrictions and BEA recommendations).
    I'm curious, does it work if you enable network classloading on the server
    which invokes remote EJB (in config.xml -
    <Server NetworkClassLoadingEnabled="true" ...
    </Server>
    Erin Reid Myers <[email protected]> wrote:
    A very interesting bug has cropped up in WebLogic 6.1. When a J2EE
    application packaged appropriately, a client application running in a
    user-created Thread will always throw a ClassNotFoundException when
    attempting to get back a user-created object from an EJB living on
    another cluster. This error does not happen when the call is being made
    from outside a Thread.
    Sounds strange, I know, so I'll try to give everyone as much detail as
    possible so they can avoid this bug, and so that the folks at BEA can
    fix it.
    * A java class running inside a clustered WL6.1 server is attempting to
    reference an EJB on another clustered WL 6.1 server. Accessing the bean
    is not a problem, the client class is able to obtain a remote reference
    to the bean and make method calls on it. Calling a method causes the
    following stack trace:
    2002-01-11 10:36:57,331 [Thread-4] ERROR
    wpni.app.mywp.display.DisplayJobs$JobsMonitor -
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run: Error checking Jobs
    status.
    java.rmi.UnmarshalException: failed to unmarshal class
    wpni.app.jobs.JobsData; nested exception is:
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This
    error could indicate that a component was deployed on a cluster member
    but not other members of that cluster. Make sure that any component
    deployed on a server that is part of a cluster is also deployed on all
    other members of that cluster
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This error
    could indicate that a component was deployed on a cluster member but
    not other members of that cluster. Make sure that any component deployed
    on a server that is part of a cluster is also deployed on all other
    members of that cluster
    at
    weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:146)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:211)
    at
    weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:290)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
    at
    weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:230)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:254)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:220)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy140.getJobsData(Unknown Source)
    at
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run(DisplayJobs.java:48)
    at java.lang.Thread.run(Thread.java:484)
    * The class that is not found (JobsData) is definitely in the EAR file
    on both the client cluster and the server cluster, and in the
    appropriate location.
    * When we attempted to run the code outside of a Thread, everything
    worked perfectly, so it was definitely the Thread that was causing the
    problem.
    * Deploying the EJB on the client cluster did not do anything to solve
    the problem.
    * Adding the JobsData to the System CLASSPATH at the startup of the
    WebLogic server DID solve the problem. But of course that defeats the
    purpose of packaging everything in the EAR file.
    So, the conclusion seems to be that when DisplayJobs$JobsMonitor kicked
    off the Thread, the Thread should have been created in either the WAR's
    classloader or the JAR's classloader (wouldn't matter, since the
    JobsData class is in the JAR's classloader, which is a parent of the
    WAR's classloader). But instead, the Thread is being created in the
    System classloader, which can't find the JobsData class!
    We believe that any Thread created by a class living within an EAR's
    classloader should remain within that same classloader, and not migrate
    to any other classloader, in order to avoid situations like this. We're
    opening a case with BEA to attempt to get this resolved. In the
    meantime, we recommend to developers that if they have to make
    cross-cluster RMI calls from inside user-created Threads, that they only
    attempt to receive primitive types or standard JDK objects. Otherwise,
    you'll have to add the classes to the System CLASSPATH at startup of the
    WebLogic instance.
    Thanks,
    Erin
    * "[White House spokeperson Ari] Fleischer
    * warned Democrats this morning against
    * investigations into the Bush administration's
    * dealings with Enron. 'The American people
    * are tired of partisan witch hunts and endless
    * investigations,' he said." [Ed.: Uh... ]
    * www.washingtonpost.com/wp-dyn/articles/A25159-2002Jan10.html
    * Erin Reid Myers, Chief Architect
    * WashingtonPost.Newsweek Interactive
    * [email protected]
    * Work: (703) 469-3154
    * Cell: (703) 725-3050
    Dimitri

  • Project Gantt Bar Bug in P6 (EPPM and PM) - A strange and Unique Issue

    Hello All,
    I have 18 projects in my production EPS but one has a problem, i've been unable to resolve, so far.
    The Issue*
    In the Project-Layout-View (Project Space), when I look at project X's Gantt Bar, following is observed.
    A- When he Project is Open:
    All is good. There is no issue.
    1- The bar length and position are good, i.e., it starts and ends at right location on the timescale.
    2- The bar has two colours (blue for actual and green for remaining) separated at the point where the Data Date is.
    3- Project Baseline Bar is all good
    B- When the Project is Closed:
    The Bar goes corrupt.
    1- The bar starts at the right spot on timescale but goes beyond its forecast finish by about 1 year.
    2- The whole bar has only one colour, blue, which mis-informs the viewer that the project has completed.
    3- Project Baseline Bar stays good
    Issue Environment"
    - I have P6 V8.2 (stand alone) and P6 V8.0 (Enterprise) both on Win 7 and the issue appears in both.
    - The issue appeared about halfway of the project progress.
    - I've tried summarizing - but in vain
    Look forward to seeing some interesting solution(s) from you.
    Regards

    Thanks ITPM
    Creating a new layout from scratch did not help.
    But something else happened that fixed the problem.
    The issue disappeared as soon as I updated the schedule in question with an updated XER, as our usual fortnightly exercise. So, looks like the issue started and ended in the source database.
    Now, when I stack the latest as well as 20 archived copies of project X sorted by finish dates, and all closed, in the project layout view, I see a nicely (uniformly) increasing blue colour, project after project, except the last fortnight's archive copy whose Gantt bar is corrupt - corrupt as described in the very first text of this thread.
    I still don’t know why and shall keep thinking about and shall ask the source re their view(s). This is not a serious issue for me but, could be serious to those fellows who have their summary/tracking layouts accessible (or designed to be accessible) by their project staff.

Maybe you are looking for