Activating javacorba client on Multithreaded environment

Hi,
I have a java corba client communicating C++ corba server. This java corba client gets activated in multithreaded environment (i.e. multiple threads try to communicate with C++ corba server using this java corba client simultaniously).
This java client starts the transaction using TransactionCurrent object before sending data corba server.
I am getting an error for the mentioned code below code:
tran_curr_oref =
bootstrap.resolve_initial_references("TransactionCurrent");
org.omg.CORBA.NO_PERMISSION: vmcid: 0x54555000 minor code: 1019 completed: Maybe
at com.beasys.Tobj_BootstrapRemote.resolve_initial_references(Tobj_BootstrapRemote.java:615)
at com.beasys.Tobj_Bootstrap.resolve_initial_references(Tobj_Bootstrap.java:243)
at com.dhl.emea.javacorbaclient.PEVWrapperClient.TuxSend(PEVWrapperClient.java:188)
at com.dhl.emea.javacorbaclient.CreateThread.run(CreateThread.java:78)
at java.lang.Thread.run(Unknown Source)
Now My question is
1) Can i have multithreaded java clients with each thread activating seperate transactions?
2) Is there any work around so that i instantiate TransactionCurrent object once and the remaining threads use the same object to start and stop the transaction?
Any help on this appreciated.
Thanks and Regards
Prashanth

Hi Prashanth,
Assuming you are using a remote CORBA/Java client to communicate with Tuxedo, then you are most likely using IIOP to communicate with the Tuxedo ISL/ISH. In this environment, you only have a single connection to Tuxedo and the ISL only allocates a single client context for your connection. As a result, even though your client may be multi-threaded, all threads are going to share the same connection and the same context including transaction and security context. The reason for this is that Tuxedo uses a delegation model and delegates security and transaction contexts to the ISL.
If you use another Java ORB other than the Tuxedo Java ORB, you might be able to get it to open a separate connection to Tuxedo for each thread and thus each thread could have it's own Tuxedo security and transaction context in the server. But this would be at the cost of a connection per client thread which may create way to many connections to Tuxedo.
If your code is running inside WLS and you are using WTC, then you can have a unique transactions and security context per thread.
Regards,
Todd Litle
BEA Tuxedo Engineering

Similar Messages

  • Question about security context in multithreading environment

    I have a need to make concurrent calls to multiple EJBs in parallel threads. Let's
    say I establish the security context once by creating an InitialContext with given
    security principal and credential. With the security context active, I spawn multiple
    threads from the current thread and in each of those threads I make a call to
    a secure EJB method, which my security principal is allowed to access. My question
    is, will the same security context be established in each of the spawned thread
    so that my EJB calls succeed? For various reasons it's not feasible to login in
    each of the spawned threads, only to login once from the main thread.
    I tried this with WebLogic 6.1sp3 and it seems to work as expected. However, I
    have not been able to find any documentation on how security contexts are propagated
    to spawned threads. All I could find was a statement that when an InitialContext
    is created, the corresponding security context becomes associated with the current
    thread.
    My concern is that even though it works in WebLogic 6.1, it may no longer work
    the same way in WebLogic 7.0 or later. And will it work when the JNDI login mechanism
    is replaced by JAAS? If any WebLogic/security guru out there could give me some
    info on how WebLogic security contexts work in a multithreaded environment, I
    would be much obliged.
    Thanks in advance!
    Minh-Tue Vo

    "Minh-Tue Vo" <[email protected]> wrote in message
    news:[email protected]..
    >
    \> My concern is that even though it works in WebLogic 6.1, it may no longer
    work
    the same way in WebLogic 7.0 or later. And will it work when the JNDIlogin mechanism
    is replaced by JAAS? If any WebLogic/security guru out there could give mesome
    info on how WebLogic security contexts work in a multithreadedenvironment, I
    would be much obliged.
    With the JAAS model, you should be able to get a subject once and then do a
    runas in the spawned threads.

  • How to install Active Directory Client on Windows 8.1 Pro

    Hello,
    I like to install the Active Directory client on Widows 8.1 Pro.  I have tried installing RSAT (Remote Server Admin Tools for Windows 8.1, but when I run the setup program it says the Windows Update Standalone
    Installer, the update is not applicable to your computer.  I am running this Windows8.1-KB2693643-x86.msu and downloaded it from here.
    http://www.microsoft.com/en-us/download/details.aspx?id=39296
    So, how do I
    get this installed?
    Thanks
    Paul

    Hi,
    Remote Server Administration Tools for Windows 8.1 is available in the following languages: cs-CZ, de-DE, en-US, es-ES, fr-FR, hu-HU, it-IT, ja-JP, ko-KR, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sv-SE, tr-TR, zh-CN, zh-HK, and zh-TW. If the system UI language
    of your Windows 8.1 operating system does not match any of the available RSAT languages, you must first install a Windows 8.1 Language Pack for a language that is supported by RSAT, and then try installing Remote Server Administration Tools for Windows 8.1
    again.
    Please check your system version (64 bit or 32 bit), and download the property one:
    How to determine whether a computer is running a 32-bit version or 64-bit version of the Windows operating system
    http://support.microsoft.com/kb/827218
    Kate Li
    TechNet Community Support

  • Install j2se plugin version 1.6.0_07 on your client and NPX_PLUGIN_PATH environment variable set before starting Netscape.

    Hi experts m new to apps please help.. I have installed successfully Oracle Apps R12 on OEL - 5 All the services runining fine. but when i am opening forms its giving error "install missing plugins" i installed jre-6u7-linux-i586-rpm.bin and Mozilla Firefox 3.0.18 [root@ust ~]# cd firefox/plugins/ [root@ust plugins]# ln -s /usr/java/jre1.6.0_07/plugin/i386/ns7/libjavaplugin_oji.so ./libjavaplugin_oji.so [root@ust plugins]# ls libjavaplugin_oji.so  libnullplugin.so [root@ust plugins]# ll total 20 lrwxrwxrwx 1 root root    58 Sep 11 16:22 libjavaplugin_oji.so -> /usr/java/jre1.6.0_07/plugin/i386/ns7/libjavaplugin_oji.so   -rwxr-xr-x 1 root root 19160 Sep 15  2007 libnullplugin.so [root@ust plugins]# but when m trying to open forms at that time giving error "install j2se plugin version 1.6.0_07 on your client and NPX_PLUGIN_PATH environment variable set before starting Netscape."

    Linux is not a certified client tier for accessing EBS
    Unable to access r12 forms in linux client
    https://forums.oracle.com/search.jspa?view=content&resultTypes=&dateRange=all&q=linux+client&rankBy=relevance&contentTyp…
    HTH
    Srini

  • J2SE Plugin version 1.4.2_04 on your client and NPX_PLUGIN_PATH environment

    Dear all,
    I get the following error while trying to login into Oracle EBS Applications, from an Ubuntu client OS.
    Please advice me with the solution for the same...
    Error Message :
    In order to access this application, you must install the J2SE Plugin version 1.4.2_04 on your client and NPX_PLUGIN_PATH environment variable is set before starting Netscape. To install this plugin, click here to download the oajinit.exe executable. Once the download is complete, double-click the oajinit.exe file to install the plugin. You will be prompted to restart your browser when the installation is complete.
    SOMEBODY, PLEASE REPLY IMMEDIATELY
    Edited by: Anand.C on Mar 6, 2008 1:51 PM

    Linux is not a certified client tier for accessing EBS
    Unable to access r12 forms in linux client
    https://forums.oracle.com/search.jspa?view=content&resultTypes=&dateRange=all&q=linux+client&rankBy=relevance&contentTyp…
    HTH
    Srini

  • Find Number of Active Calendar Client Sessions?

    What is the "ps" command to find the number of active Calendar clients at any given time?
    We are using 10.1.2 in an OCS installation on Linux SuSe servers.
    Also, is there a way to see the individual usernames associated with each active session?

    On e.g. UNIX you can perform
    netstat -a | grep 7778 (mid web calendar port on my system)
    (http://<your host>:7778/ocas-bin/ocas.fcgi?sub=web&web=calendar&view=day)
    Best regards,
    Fred

  • Batch active at client level

    Hi All,
    Batch status is active at client level.
    However, in the inbound delivery I am able to receive an existing batch for some other material.
    Ideally, I should get an error that the batch already exists etc because the batch is active at the client level.
    Please help.
    Regards,
    Ankur

    Hi,
    Thanks for your inputs. Batch is active at client level.
    The check happens when we do the GR. At the time of GR, the system checks for existing batches and gives the error.
    Is there a way to put this check at the inbound delivery level itself ? Requirement is to give an error if there is an existing batch for other material during inbound delivery creation itself.
    Thanks !
    Ankur

  • SAP SD benchmark-check if New GL is active in client 900

    hi, guys
    Log on as SAP_PERF000 with password obelix and language EN to client 900.
    use transaction /nSE38 To check if New GL is active in client 900
    "You are not authorized to use transaction SE38"
    any ideas?
    regards

    now in client 900 which sap account should login with pw obelix and execute su01 and enter user " SAP_PERF"
    hit "change" , add the profile "SAP_ALL" to the users profile tab, save and exit.
    i used SAP* and SAP_ADMIN to login, and execute su01. "You are not authorized to use transaction SU01"
    regards

  • Sleep blocked by "active remote client"

    Using powercfg -requests I get:
    [DRIVER] Filesystem\srvnet
    An active remote client has recently sent requests to this machine
    This blocks sleep mode (a "feature" of sleep mode).
    I have tried disabling wake for sleep on adaptors.  Disabling home group. disabling media center, unistalling windows media, disable auto update, no media sharing....
    Because there is a long timeout of maybe 15 minutes or longer on this it so it is hard to diagnose if it is coming from the local machine or the other Win 7 on the network.  The problem seemed to start when I upgrade the second machine from Vista though not 100% sure.
    Seems like each machine keeps the other awake?  I have also suspected the Dlink router and turned all of its "added value" features off.  Where is this "remote client" and how to diagnose?
    Is there a setting to at least turn the time out to a minute or less?
    One machine runnning Win 7 7600 64 before and after this problem started.  The other was Vista and now Win 7 7600 32 since the problem began in BOTH machines.

    Try creating and then leaving a Homegroup between the machine having the sleep problem and the other(s) keeping it awake.
    I developed the same insomnia problem described here on one of my networked group of Windows 7 machines after enabling media streaming but declining to create a Homegroup (when the option to create one was presented during the media streaming setup process). 
    I struggled with various solutions, all to no avail, except disconnecting the problematic machine from the others on the network (not a solution).  Ultimately I determined that certain other machines on the network would keep the problematic machine awake. 
    I was able to identify the affected machines by disconnecting various combinations of machines from the network until the problematic machine slept normally.
    Ultimately, the problem disappeared after I created a Homegroup, joined all the affected machines, and then left the Homegroup from all machines.  After a forced sleep using the shutdown menu on all the affected machines, and subsequent manual wake,
    they now all sleep and wake normally, as expected, according to the power plan settings.
    I suspect that by declining to create the Homegroup when prompted, it leaves some inchoate remnant of Homegroup creation lingering around on one or more machines, which in turn results in repeated requests being sent from one machine to the other, keeping
    the other awake.

  • Best practice to run Microsoft Endpoint Protection client in VDI environment

    We are using Citrix XenDesktop VDI environment. Symantec Endpoint Protection client (VDI performance optimised) has been installed on the “streamed to the clients” virtual machine image. Basically, all the files (in golden image) have been “tattooed” with
    Symantec signature. Now, when the new VM starts, Symantec scan engine simply ignores “tattooed” files and also randomise scan times. This is a rough explanations but I hope you’ve got the idea.
    We are switching from Symantec to Microsoft Endpoint Protection and I’m looking for any information and documentation in regards best practice for running Microsoft Endpoint Protection clients in VDI environment.
     Thanks in advance.

    I see this post is a bt old but the organization I'm with has a very large VDI deployment using VMware. We also are using SCEP 2012 for the AV.
    Did you find out what you were looking for or did you elect to take a different direction?
    We install SCEP 2012 into the base image and manage the settings using GPO and the updates for defs are through the normal route.
    Our biggest challenge is getting alert message from the client.
    Thanks

  • Best way to generate an incrementing ID in multithreaded environment

    Hi
    I have a "best practice" kind of question.
    I need to insert a record in an Oracle table where primary key is an incrementing numeric ID. In order to insert a new record, first i need to figure out what the maximum ID is and then increment it.
    In a multithreaded environment, this can cause an error when, let's say, there are 2 threads, and each one is simultaneously querying the table for the max ID. Each query will return the same result and hence only 1 query will succeed at inserting the new record. The second insert will cause a primary key conflict when trying to execute.
    Is making the code synchronized the best solution in this situation or is there a better way?
    Thanks in advance.

    Hi,
    using Oracle sequence could be easy and effective, just insert sequence.NEXTVAL into the particular column. Oracle should take care of possible conflicts, it should always provide different (means incremented) value.
    I dont recommend using agregate function MAX(column).
    Good luck,
    Rgds
    Miroslav

  • Active-Standby -Client-Site VPN

    Dear Experts.
    We have Cisco two ASA 5550 which is configured in Active-Standby mode but client-site VPN is not working when secondary unit becomes active. Failover status is showing as " Secondary Active" when primary unit is active all client-site VPN connections are working fine. Both ASA's has 7.2(3) IOS image and DES, 3DES/AES license enables.
    We are getting following error messages
    IPSEC: Deleted outbound permit rule, SPI 0xBFA351A9
    Rule ID: 0x059C3060
    IPSEC: Deleted outbound VPN context, SPI 0xBFA351A9
    VPN handle: 0x00227DFC
    Jan 09 13:23:52 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Removing peer from peer table failed, no match!
    Jan 09 13:23:52 [IKEv1]: Group = DefaultRAGroup, IP = x.x.x.x, Error: Unable to remove PeerTblEntry
    Please advise

    One of the things that I have seen that can cause symptoms like this is to not have some files in flash of the backup ASA. In particular I suggest that you check for files related to the client VPN. So get the output of show flash from the primary ASA and from the backup ASA and compare them.
    HTH
    Rick

  • Create separate TDMS client in development environment ... really ?

    Hello,
    My company acquired the license to use SAP TDMS.
    Our main purpose, using TDMS is to create additional developemts clients , with production-like data.
    SAP documents say explicitely that you may "Create separate TDMS client in development environment"
    But after reading SAP TDMS master guide, I realize that it  is no so simple
    "With SAP TDMS, you transfer the required parts of the client-dependent data from the sender
    system to the receiver system. For this to work properly, it is very important that the receiver
    system has the same data dictionary (DDIC) and cross-client customizing as the sender
    system." page 17 Master guide
    By definition, Production and Developemt systems do not have the same DDIC.
    I mean that it could take several weeks/months before that newly developed objects (including DDIC) are transported to production.
    Saying that, how is it possible to to create TDMS clients in DEV system, when DEV system is not synchonized with the production system ?
    Thank you for your responses.
    Regards

    There are two aspects to your question -
    Aspect 1: Currently the repository on your dev. system is not in sync with the repository on your production system and You want to synchronize the repository on the development system, in this case you may use the TDMS Shell process to do a lean system copy from production to development which will copy the repository and cross client data from prod. to dev.
    Aspect 2: Currently the repository on your dev. system is not in sync with the repository on your production system and You are not in a position to synchronize the repository on the development system, in this case you may still go ahead and execute TDMS with the limitation that for all the tables which have differences in definition in the two system the data transfer may not be complete or in worst case you may have to skip data transfer of some tables (tables for which the definition is significantly different in two systems). TDMS does provides you the option to do the same.
    I hope this info helps.

  • C++ stringstream in multithreaded environment

    We are using a lot of stringstream objects in multiple locations in our code. The objects are not shared across threads but still program crashes in multithreaded environment. The investigation shows that the program crashes when we use both insertion & extraction operators (stringstream ::operator << and stringstream ::operator >> ). The program crashes at random locations, always pointing to stringstream in our code. We receive SIGBUS, or SIGSEGV or (sometimes) SIGABRT signals.
    We need to know how to use stringstream in Multithreaded environment.
    Any help will be highly appreciated.
    Versions:
    Compiler Version: CC: Sun C++ 5.9 SunOS_sparc Patch 124863-05 2008/06/03
    Machine: SunOS bear 5.10 Generic_127111-11 sun4u sparc SUNW,Sun-Fire-V490
    /usr/lib/sparcv9/libCstd.so.1: Sun SUNWlibC SunOS 5.10 Patch 119963-08 2006/09/20
    Following is the test program (creates 20 threads & does insertion-extraction) & Makefile below it.:
    {color:#0000ff}#include <string>
    #include <sstream>
    #include <pthread.h>
    #include <thread.h>
    #include <vector>
    using namespace std;
    extern "C" void* ThreadFunc( void* p )
    for(int i=0 ; i < 1000000 ; i++){
    string str("dummy");
    stringstream buf;
    buf << "Dummy Data " << i ;
    buf >> str;
    return NULL;
    int main (int argc, char** argv)
    try {
    pthread_t thread;
    vector<pthread_t> threads;
    for(int i=0; i < 20 ; i++) {
    pthread_create(&thread, NULL,ThreadFunc, NULL);
    threads.push_back(thread);
    int rc;
    void* status;
    for(int t=0; t < 10; t++) {
    rc = pthread_join(threads[t], &status);
    if (rc) {
    // cout << "ERROR in joining thread " << threads[t] << endl;
    return (-1);
    //cout << "Completed joining thread " << threads[t] << " with status " << (long)status << endl;
    } catch (...) {
    //cout << "some exception\n";
    return 0;
    {color}
    ////////Makefile/////////////
    {color:#ff00ff}CC=/appl/toolbox/studio12-July08/SUNWspro/bin/CC
    CPP =${CC} -m64 -mt -xarch=sparcvis2 -g
    OFILES = ${SOURCE:.cpp=.o}
    PROG = stringstreamtest
    SOURCE = main.cpp
    {color}
    {color:#ff00ff}${PROG}:${OFILES}
    ${CPP} ${OFILES} -o $@
    %.o:%.cpp
    ${CPP} -c $< -o $@
    {color}
    {color:#ff00ff}clean:
    ${RM} *~
    ${RM} *.o
    ${RM} -r ${PROG}
    ${RM} -f .make.state
    .KEEP_STATE:{color}

    The stringstream class is thread-safe, but you must provide your own guards around string and stream objects that are shared among threads. That is, the library provides internal guards that you could not provide yourself, but if two threads modify the same string object (or any non-atomic object, for that matter) at the same time, the results are unpredictable.
    You have a rather old version of libCstd on your system. Please update to the current SUNWlibC patch
    sparc: 119963-12
    x86 : 119964-12
    You can get the patch from [http://sunsolve.sun.com]
    Some other things to check:
    Be sure that libCrun and libCstd are linked only as shared (.so) libraries, and not as archive (.a) libraries.
    Do not use the linker -Bsymbolic option when creating shared libraries - it can cause program crashes particularly when using the string class.
    Do not use -xarch=v8 or -xtarget=v8 options, since it can cause loss of thread synchronization when running on current architectures. (The v8 architecture dates from before the UltraSPARC was introduced in the mid 1990's.)
    Finally, you should check your code for the usual programming errors that can lead to crashes:
    - using an invalid pointer
      - uninitialized
      - dangling (points to object that no longer exists)
      - incremented or decremented outside object bounds
      - points other than to an object start address
    - deleting an object more than once
    - reading or writing outside object bounds
    - failing to guard shared object in multi-threaded code
    - race condition in multi-threaded codeThe program failure usually occurs far away in space and time from the
    actual error.
    These errors do not always lead to a program crash. An invalid pointer
    might sometimes by accident point to a harmless location. A race
    condition can go millions of cycles without causing a problem. Access to
    a deleted object can succeed by accident if the memory was not re-used.
    Any change in program code or compiler options can turn one of these
    programming errors into an actual failure, or the other way around.
    Try running the program under dbx with Run-Time Checking enabled. RTC
    will find many of these errors. In Sun Studio 12, the Thread Analyzer
    tool will find race conditions.

  • Dimension PWXTY64 can only be manually activated in client 001

    Hi ,
    I am trying to transport some of my infoubes from Dev to Quality  where I can see th error
    Dimension PWXTY64 can only be manually activated in client 001
    Message no. R7048
    Diagnosis
    Dimension PWXTY64 does not have a number range interval. A new interval has to be generated so that IDs can be assigned. As IDs already exist, the interval has to be created during object activation. This is only possible in BI client 001 as the interval is client-dependent.
    The error occurred in client 000 - probably in after-import handling.
    System Response
    Dimension PWXTY64 can only be activated manually in client 001.
    Procedure
    Activate Dimension PWXTY64 manually in client 001.
    Please let me know what needs to be done to avoid this error
    Thanks ,
    Sany

    Have you found a solution to this issue?  We experienced the same thing this weekend, and we had to manually activate the Infocubes using the activation program.  But, if there is a way to avoid this in the future, that would be great.
    Thanks,
    John

Maybe you are looking for