Mixing multiple rmi protocols in same jvm

We are having to build a gateway between Javelin's Coppelia server and
WLAS 6.0. Coppelia has its own rmi implementation and WLAS has its T3
protocol. Is it possible to mix connections between both of them in one
jvm. It would seem ok and we are tying to test it now but wanted to get
confirm from BEA folks.

"Larry Presswood" <[email protected]> wrote in message
news:[email protected]..
We are having to build a gateway between Javelin's Coppelia server and
WLAS 6.0. Coppelia has its own rmi implementation and WLAS has its T3
protocol. Is it possible to mix connections between both of them in one
jvm. It would seem ok and we are tying to test it now but wanted to get
confirm from BEA folks.Larry,
We've not tested this configuration. However I can't think of anything off
hand that would prevent it from working. Let me know how it goes, I'd be
happy to try to help if something comes up.
Good luck!
Adam

Similar Messages

  • Multiple RMI servers in single JVM

    Hi,
    I have a RMI server listening to requests from internal network as well as external network. RMI returns the hostname as part of the stub. So to ensure that the subsequent RMI calls work fine I need to ensure that jama.rmi.hostname is set to correct value.
    With 2 network IPs on 1 machine (internal & external), one option was to use a domain name as hostname and set it as java.rmi.hostname. Unfortunately, my client is not allowing use of DNS. So the hostname can be set only as an IP address.
    Is there some way I can start 2 RMI servers in single JVM. While starting first one I can set hostname as internal IP and then while starting the other one I set hostname as external IP.
    Problem is I don't know if such a solution can be setup. I read somewhere that from jdk1.4, System.setProperty("java.rmi.server.hostname", "172.25.17.41"); will set hostname dynamically. So all future requests will use the latest hostname.
    Important thing is some way to make sure both networks can connect to my JVM through RMI.

    I get it, you're going down the path I hate. I have undone this so many times ... (essential when deploying RMI Proxies).
    Don't know why your intranet clients can't connect, unless it's the local binding of the server socket.
    If you must explore this horrible kludge around a Sun kludge (and overload the SF mechanism even further), you may as well go the whole hog and have the SSF corresponding to each CSF bind its ServerSocket to the local address that you're going to embed in the CSF. Then you really know who can connect and who can't.
    When writing SFs you need to think about what equality of socket factories really means. It only needs to imply that both socket factories being compared observe the same superimposed protocol (e.g. SSL), or that they both don't superimpose a protocol at all, so outbound or incoming calls really really can share the same port.
    SF equality generally doesn't need to extend as far as whether the embedded host names (in your case - ugh!) are the same, or the port numbers if you want go the whole hog and bypass the stub's remote reference info altogether.

  • Connect Multiple Ingrian server in same JVM

    Hi All,
    I have faced an issue where I have to connect multiple Ingrain server depending on some choice in same JVM.However I can able to set one server for jvm by placing the IngrianNAE.jar and IngrianNAE.properties in jre/lib/ext and every things running well, but if I tried to modify the Ingrain properties file during runtime through System.setProperties(), it always  pick the old  value instead the new one. So my question is that whether it is possible to configure  for same JVM or not.
    Thanks & Regards

    Any Inputs...?

  • Avoiding RMI overhead in same JVM?

    I have some clients that run on other machines or in other JVMS, therefore I have implemented key objects as UnicastRemoteObject. What about a client in the same JVM as my server? If they obtain a reference to an instance of those objects (NOT via lookup), is it true that there will be no RMI overhead other than the inconveniance of having to handle RemoteException?

    No, it is not true but untrue that RMI is bypassed
    if server and client are in the same JVM. The
    pass-by-value marshalling semantics defined by the RMI
    Specification make it impossible such an
    'optimization' would ever be supported.
    EJPSorry, you are incorrect.
    If an RMI server is called via normal reference (that is anything other than via a remote stub) in the same JVM as the server then it is just a normal java method call. Remote semantantics do not apply.

  • Multiple Java Apps in same JVM

    Hi,
    I have created a shell script which calls my java application with heap size as below:
    /bin/java -Xms:3072M -Xmx:3072M ...
    I'm calling the shell script multiple times in the background to create multiple instances of my java application in the same box. I have set a limit of 5 for java applications at any point of time. But what I'm experiencing is that first few sets of java application finish very fast (almost 3 mins) but last few sets taking a lot of time (around 10 mins). The quantity of data processed by all java applications is same but why later sets of java application is taking longer?
    Can I do something here so that later sets of apps also completes in 3 mins? Can I refresh java heap before submitting another set of java applications? Java application is not mine but I have purchased from 3rd party. Please help!!!
    Thanks in advance.

    > why later sets of java application is taking longer?
    Probably because of CPU usage.  But could be memory.
    >Can I do something here so that later sets of apps also completes in 3 mins
    You tune the task, the complete task, to the box.  That means you must understand in detail what is taking time and then architect that to make the best use of the available CPUs and memory (and other resources as used by the task.)

  • Same JVM multiple processes?

    Summary: Does any one know how to get a JVM to be shared across different Windows processes, as follows:
    Context: I have created a Java ActiveX component. This is instantiated and used as an object embedded in HTML. The HTML will always be executed in Internet Explorer. When I have multiple windows open in the same Internet Explorer process with the same HTML code the static variables are shared by all the Java ActiveX components. If I have multiple process of Internet Explorer open each with the same HTML code the static variables are not shared because different instances of the JVM are running in each Internet Explorer process.
    Question: Is it possible to do any of the following:
    - Get multiple instances of the JVM to run as multiple Threads i.e. not as separate processed with separate memory segments?
    - Get multiple instances of the JVM to share variables?
    - Prevent multiple instances of the JVM being created so that all Java objects run in the same JVM regardless of the process that instantiated them.
    This is possible in C++ ActiveX components using shared segments across different Internet Explorer processes, as follows:
    // in DLL .cpp file
    #pragma data_seg (�.mydata�)
    int sharedVariable = 1;
    #pragma data_seg ( )
    #pragma comment(linker, �/SECTION:.mydata, RWS�)Therefore I would expect that if I could achieve a similar approach with Java this would not be prevented by the OS (i.e. Windows) due to memory faults, etc. I know that Java has different (less) memory handling capabilites so this may not be possible but any suggestions would be very much appreciated.
    Thanks,
    J

    Summary: Does any one know how to get a JVM to
    be shared across different Windows processes, as
    follows:
    Context: I have created a Java ActiveX
    component. This is instantiated and used as an
    object embedded in HTML. The HTML will always be
    executed in Internet Explorer. When I have multiple
    windows open in the same Internet Explorer process
    with the same HTML code the static variables are
    shared by all the Java ActiveX components. If I have
    multiple process of Internet Explorer open each with
    the same HTML code the static variables are not
    shared because different instances of the JVM are
    running in each Internet Explorer process.
    Question: Is it possible to do any of the
    following:
    - Get multiple instances of the JVM to run as
    s multiple Threads i.e. not as separate processed
    with separate memory segments? No, each instance of the VM is a seperate process. The closest you can come without hacking the VM and/or IE, is running multiple Java programs in the same VM, each in its own thread.
    - Get multiple instances of the JVM to share
    e variables?
    - Prevent multiple instances of the JVM being
    g created so that all Java objects run in the same
    JVM regardless of the process that instantiated them.
    RMI provides some means of inter-VM communication, but this is probably not suitable for your application. The combination of JNI + NIO also provide some capability for the VM to share memory with native processes, but its not immediately obvious to me how to extend this capability to multiple VM's.
    >
    This is possible in C++ ActiveX components using
    shared segments across different Internet Explorer
    processes, as follows:
    // in DLL .cpp file
    #pragma data_seg (�.mydata�)
    int sharedVariable = 1;
    #pragma data_seg ( )
    #pragma comment(linker, �/SECTION:.mydata,
    RWS�)Therefore I would expect that if I could achieve a
    similar approach with Java this would not be
    prevented by the OS (i.e. Windows) due to memory
    faults, etc. I know that Java has different (less)
    memory handling capabilites so this may not be
    possible but any suggestions would be very much
    appreciated.
    Thanks,
    JAlso, you may want to keep in mind that VM's that run in a browser have a SecurityManager installed that restricts them from performing certain restricted operations. For this reason it may be difficult to do anything really ambitious with an applet or, presumably, a Java ActiveX control, though I have no idea what that is.
    Good luck.

  • Same JVM for multiple Frames in a web application

    Hi guys,
    I have a web application that loads an applet during login. Once the login is completed, the web application will display the available functions accessible with a menu on the left frame and the main display page on the right frame. Whenever any form action is perfomed on the right frame, the jvm with the login session seems to exit (java console closes) and the applet will be loaded to prompt the user to login again. The JRE installed on the Windows client is 1.6.0_14 from SUN.
    I'm guessing that the different frames are using different JVMs?
    Is there a way to use the same jvm for a web application with multiple frames? I want to prevent the case where the user will have to login again.
    Thanks for any advice!
    - Zen -

    I have sort of the same problem
    [Identical applets in the same JVM, next generation plugin issue|http://forums.sun.com/thread.jspa?threadID=5396118]
    I have submitted a Request for enhancement to SUN to allow forced grouping of applets in the same JVM.
    Sort of the opposite of the "separate_jvm" Applet tag parameter.
    It seems there is currently no way to do this.
    [New Plugin command line args|https://jdk6.dev.java.net/plugin2/jnlp/#COMMAND_LINE_ARGS]
    When per-applet JVM command-line arguments are specified, it is likely that the new Java Plug-In will need to launch another JVM instance in order to satisfy them. In other words, it is unlikely that a preexisting JVM instance will have been started with the correct set of command-line arguments to satisfy the current applet's request. The rules for exactly when a new JVM instance is launched to start a given applet are deliberately left unspecified, as this functionality is brand new in the 6u10 release and may need to change in subsequent releases. Here is a rough set of guidelines for the sharing and creation of new JVM instances:
    * If the command-line arguments used to start a preexisting JVM instance are a superset of the requested arguments, the preexisting JVM instance will be used.
    * If a JVM instance is launched for the "default" set of command-line arguments (i.e., those specified in the Java Control Panel, with no per-applet arguments specified), then this JVM instance will never be used to launch any applet that has even one per-applet command-line argument.
    * -Xmx is handled specially: if a preexisting JVM instance was started with for example -Xmx256m, and a new applet requests -Xmx128m, then new applet will very likely be run in the preexisting JVM instance. In other words, -Xmx specifications are matched with a greater-than-or-equal test.
    There is no way to "name" a JVM instance used to launch a particular applet and "force" subsequent applets into that JVM instance.
    See the section on the separate_jvm parameter to isolate a particular applet in its own JVM instance, separate from all other applets.

  • Running multiple weblogic servers on the same JVM

    Is there a way to make Weblogic 7.0 and Weblogic 5.1 run on the same JVM? If so
    what are the pros and cons?

    I hope you also checked the IPCKEY (and all other identifiers of that kind)
    in your ubbconfig file: they should all be different.
    We have similar configurations running without any major difficulty.
    One catch: very heavy IPC activity (due to errors in the application,
    never because of heavy user load) in one environment sometimes overloads
    the OS, resulting in hung applications in the other environments.
    Regards
    Frank
    "Manoj SASIDHARAN" <[email protected]> wrote:
    >
    Hi Troy,
    Here are a few tips:
    1. Check the APPDIR values in both environments. They should point to
    the appropriate
    directories containing the Tuxedo server binaries for each environment.
    Analyse
    the values of APPDIR environment variable and also inside the UBBCONFIG
    file.
    2. Check the WSL address. Both environments should have different ports
    for listening
    to requests.
    3. Check the WSNADDR environment variable at the client side. They should
    point
    to the appropriate WSL addresses.
    HTH
    regards
    MS

  • I have multiple devices on the same account, can I increase my cloud allowance without paying extra?

    Each device gives 5gig but multiple devices on the same account don't increase the cloud space. Do Apple recognise this and help?

    Malcolm wrote:
    Wow that's really harsh. Both my wife and daughter have disabilities and the idea of having one ID is to allow me to be able to track them quickly in times of emergency through 'find my iphone'. I did not realise this was 'creating a mess'.  I thought support communities were intended to, you know, support people with genuine questions like mine not to rush to criticism. Unfortunately both answers to my question have been negative.
    I am not being harsh, the truth is you are really creating problems for yourself e.g. calendars, contacts, etc. are all mixed up.
    Support Communities are there to show you how to use the devices as intended, the "criticism" is about how you use the devices and not about you as a person. We are trying to help if you can listen.
    You can use Find My Friends instead of Find My iPhone for your purpose.

  • Multiple devices with the same GUID

    Hi,
    According to the Zenworks Command line utilities reference https://www.novell.com/documentation...a/bb15p2z.html
    There exists an option to register a device with a new GUID by doing the following...
    register (reg) [-g] [-k <key>] [-u <username> -p <password] <ZENworks Server addressort>
    Registers the device in a Management Zone.
    You can use the following options:
    g - Lets you create a new device object with a new GUID and password for the device if you have multiple devices with the same GUID. When you register a device by using this switch, all the associations (policies and bundles) assigned to the original device object are removed. You cannot use this option to create a new GUID for a Primary Server or a Satellite device. The local user must have Local Administrator rights to use this option.
    I would like to know if it is possible to have such a command line option for the agent installation. So built into the agent installer, a command line option to force the agent to register with a new GUID.
    We are having CONTINUOUS problems with the above scenario. When we move devices from one computer lab to another and re-image the device, Zenworks keps trying to assign the same GUID to the device and this mixes up our Dynamic Workstation groups, which then affect the applicable policies to each device.
    I would like to know if there is an option to tell the installer to stop remembering the GUID and simply register the device with a new guid on agent installation.
    This way we can build that into the post imaging scripts which install the zenworks agent.

    Hi Craig,
    OK, I've had a look at the ZCM Reconcile rules and run a few tests to see if it is possible to get the machines not to reconcile (use a new GUID after imaging).
    As I have explained before, sometimes this result is desired in our case especially when we move machines around from lab to lab.
    So far, no matter what configuration I use, I cannot get Zenworks to generate a new GUID for a device that is getting re-imaged (without doing so only after the fact by unregistering the machine and reregistering the machine via the zac und and zac reg -g).
    We use dynamic workstation groups to assign policies and bundles to machines so reconciling the devices is not necessary most of the time. We need an option to tell the machine to register with a new GUID on installation of the agent. Surely such an option can be built into the agent installer?
    The options in the ZCM config management "reconcile settings" I tested with are:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Unticked/Unselected
    Enable Differentiation - Unticked/Unselected
    I then also tested:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Ticked/Selected
    Enable Differentation - Ticked/Selected
    and also:
    Serial Number - Unticked/Unselected
    Mac Address - Unticked/Unselected
    Machine Name - Ticked/Selected
    Enable Differentation - Unticked/Unselected
    With all three different configurations, I re-imaged the same machine, which renames the machine via the first post imaging installation script to match the DNS name. Thereafter the Zenworks agent gets installed, which then renames the machine back to what it was registered into the Zenworks database with on first installation.
    We need a method of telling Zenworks NOT to reconcile when we want it to. It should not reconcile every time and thereby rename the machine netBIOS name.
    Is there any way to achieve this?
    Originally Posted by CRAIGDWILSON
    Quite Simple,
    Let's say a HDD Dies and you replace it.
    All you need to do is bring down an image and the machine will come back as it was with all the same WS and Device associations.
    The same thing could apply if bringing in new Hardware.
    If a new computer were to replace an old computer but the name stayed the same, everything could be automatic depending on the rules setup.
    It is all a matter of how you tell ZCM to reconcile devices.
    The Help in the ZCC under these items should explain how it works so you can setup your rules to meet your use cases.

  • Multiple consumers of the same Queue

    In the past my use of JMS queues has been limited to a single message producer and a single consumer. I am now looking at having multiple copies of the same consumer running for load balancing and failover purposes, and this leads me to what I think is a basic question. BTW, we're running OpenMQ 4.4u1.
    I have messages being produced and saved in a single queue.
    I then have a consumer program whose logic is something like this:
    1. Create session with no transaction and CLIENT_ACKNOWLEDGE.
    2. Receive message from queue.
    3. Do some processing with message. Repeat processing attempts multiple times, if needed, until successful.
    4. Once processing is successful, acknowledge message.
    Assume that I am running multiple copies of the consumer in separate JVMs (or on separate servers, for that matter).
    Here are my related questions.
    1. If step 3 takes a long time (e.g., several minutes) can I be sure that only one instance of the consumer will receive the message?
    2. If a consumer is in step 3 and a catastrophic failure occurs (e.g., the JVM or server it is running on crashes) the message will never be acknowledged, but the session will not be shut down in an orderly fashion, either. Will the message that was received but never acknowledged eventually be delivered to another copy of the consumer?
    3. If step three takes a very long time (hours or days, rather than minutes), will the broker misinterpret this as a failure of the consumer and deliver the same message to another one of the consumers?
    Thank you for reading and/or responding to this question.
    Bill

    1. If step 3 takes a long time (e.g., several minutes) can I be sure that only one instance of the consumer will receive the message?A queue message will only be delivered and consumed by 1 consumer.
    2. If a consumer is in step 3 and a catastrophic failure occurs (e.g., the JVM or server it is running on crashes) the message will never be acknowledged, but the session will not be shut down in an orderly fashion, either. Will the message that was received but never acknowledged eventually be delivered to another copy of the consumer?Yes.
    3. If step three takes a very long time (hours or days, rather than minutes), will the broker misinterpret this as a failure of the consumer and deliver the same message to another one of the consumers?No, as long as the consumer's Session or Connection are intact

  • Can I purchase multiple copies of the same song

    I want to purchase multiple copies of the same song to avoid copyright issues if I make a mixed cd and give it away.

    As above, Apple's official advice is here... HT2905 - How to find and remove duplicate items in your iTunes library, however it is a manual process and the article fails to explain some of the potential pitfalls.
    Use Shift > View > Show Exact Duplicate Items to display duplicates as this is normally a more useful selection. You need to manually select all but one of each group to remove. Sorting the list by Date Added may make it easier to select the appropriate tracks, however this works best when performed immediately after the dupes have been created.  If you have multiple entries in iTunes connected to the same file on the hard drive then don't send to the recycle bin.
    Use my DeDuper script if you're not sure, don't want to do it by hand, or want to preserve/merge ratings, play counts and playlist membership. See this thread for background and please take note of the warning to backup your library before deduping.
    (If you don't see the menu bar press ALT to show it temporarily or CTRL+B to keep it displayed)
    tt2

  • How to carry out multiple searches on the same engine simultaneously.

    As mentioned above. I'm looking for a way to search multiple text at the same time.

    Can you give a more detailed example of what you mean?
    For example:
    * Do you want to type query #1 into the search box or address bar and open it in results tab #1, then type query #2 into the search box or address bar and open it in results tab #2? To do that, hold down the Alt key when pressing Enter or hold down the Ctrl key when clicking the icon that submits your search.
    * Do you want to combine numerous queries into a single request to Google and get the results all mixed together? You can use OR (must be in capital letters) with quotation marks or parentheses for grouping. For example: Android OR ios OR "windows phone"
    * Something else?

  • Call to a remote object in the same JVM

    Hi,
    I want to implement a logging mechanism in my system. I'm planning to
    write an rmi object and make it a start up class.
    I wud like to know whether the calls to this start up class made by the
    ejb instances and from the servlet engine in the same JVM, wud be rmi calls
    or wud they be simple method calls.
    Does weblogic detect the calls from the objects of the same jvm and
    optimise them, or wud they be rmi calls only.
    btw, i'm using weblogic 5.1
    thx,
    Manohar

    Try:
    initialNamingContext.rebind("single",
    weblogic.rmi.server.UnicastRemoteObjcet.exportObject(obj)
    "M. Manohar" wrote:
    Hi Eduardo,
    thx for ur reply.
    I wud like to know how to make this "binding a stub".
    wat i'm using is binding an object only.
    Instantiating an object which implements the remote interface and binding
    it to the JNDI tree by,
    initialNamingContext.rebind("single", obj);
    and ofcourse defining it as a start up class in the weblogic.properties
    file.
    Can u pls explain how to do "binding a stub"
    thx,
    Manohar
    Eduardo Ceballos wrote in message <[email protected]>...
    Presuming that the start up class binds itself into the jndi tree, then itonly depends on what you bind: binding a stub results in the RMI runtime
    overhead; binding the object itself, results in the simpler function call
    overhead.
    "M. Manohar" wrote:
    Hi,
    I want to implement a logging mechanism in my system. I'm planning to
    write an rmi object and make it a start up class.
    I wud like to know whether the calls to this start up class made by the
    ejb instances and from the servlet engine in the same JVM, wud be rmi
    calls
    or wud they be simple method calls.
    Does weblogic detect the calls from the objects of the same jvm and
    optimise them, or wud they be rmi calls only.
    btw, i'm using weblogic 5.1
    thx,
    Manohar

  • Multiple HTTP requests through same connection

    Hi...
    I am writing an application which connect to its server through HTTP protocol and the server is basicaly a bunch of servlets hosted somewhere (Right not it in the tomcat running in my PC)
    I know that with Connection Keep-Alive header you can keep the connection alive and do multiple requests from the same server.
    Can some one point me to where can I find some sample code which shows how to send multiple requests through same URL conection or URL object. What i cant figure out is how to reset the URL connection or its streams a and make them send anotehr request message to the serverso server can respond.
    Or do I have to do this manualy (using sockets)

    You SHOULD be able to do a HttpUrlConnection method. However, I have hand-coded HTTP server and client apps and the keep-alive is rarely enabled in servers.
    This is due to better handling of millions of unique hosts requesting, unlike a network os, which is made the other way around.

Maybe you are looking for