Server, Multiple JVMs sources

Hi,
i've to create a (web serivce) server application. This application should be ready for clustering or something, if one server isn't fast enough.
I know already some things abou concurrency in Java. I'm no Java newbie. But i don't know how clustering works.
Does it depend on the used JVM?
Or is this for every server (i.e. Tomcat, JBOSS, ...) different?
What are the requirements in the webservice-layer and in the persistance layer?
Any good internet pages/PDFs which discusses this?
Any good books?
I really hope some can help me here, because it's very important for me.
Cheers,
Ingo

I just re-read the guidelines for a clustered web app over the weekend, so I think I've got things straight. Your application will have to be sensitive to two important issues:
1) A class which was previously a singleton may now be instantiated in multiple JVMs. The most obvious side effect of this is that the init() method of any servlet will have a different ServletConfig object passed to it for each JVM it is initialized in. As a result, the application context is no longer a valid place to store information, since the change to the application context is not necessarily propagated to the other JVMs. However, context-params will still be available from all JVMs. Another noticable side-effect is that static variables no longer work as expected (since there may be multiple instances of the same class).
2) The HttpSession object for a given session can only be in existence on one JVM at a time. If the HttpSession needs to migrate to another JVM, then it will be serialized and sent to the other JVM. As a result, adding an object to a session that is not Serializable may result in IllegalArgumentException being thrown. I'm guessing that in the case of a fail-over (node dies unexepectedly) that the HttpSession object is lost.
Brian

Similar Messages

  • Multiple JVM in one server

    Hi,
    Can we run multiple JVM's on one Solaris server with different applications configured for different JVM's or may be configure a memory intensive application to multiple JVM's.
    Please let me know if this works and if there is any documentation for this.
    Any help is greatly appreciated.
    Thanks

    Pione J wrote:
    Can we allocate multiple JVM's to one application and i would really appreciate if you can provide me with some literature/suggestions as to how we can do this in Weblogic.Sure, it's called clustering and documentation is available here
    http://e-docs.bea.com/wls/docs81/cluster/overview.html
    Cheers,
    Gerald

  • Running Multiple JVM's on same Server has OutOfMemory - PermGen Errors

    I have a scenario where I have 2 application servers. One is running one JVM and the other is running multiple JVMs.
    Both are configured with:
    -XX:+UseConcMarkSweepGC
    -XX:+UseParNewGC
    -XX:MaxPermSize=256m
    -XX:+CMSPermGenSweepingEnabled
    -XX:+CMSClassUnloadingEnabled
    The server that is running with only 1 JVM runs stable, however the server that is running multiple JVMs has frequent crashes due to OutOfMemory - PermGen errors. The only other difference is the Heap size. 512mb for each JVM on the app server with multiple instances and 1GB for the server with 1 instance. Is there a relationship/settings that need to be tuned when running multiple JVM's on the same server to avoid this?
    Thx

    The only other difference is the Heap size. 512mb for each JVM on the app server with multiple instances and 1GB for the server with 1 instance.This isn't a trivial difference. Basically you're saying "When I give the server 1 GB then it's okay but when I give it 512 MB it's not okay." If I saw those symptoms I would take them at face value to start with.
    So, turn off one of those servers on the machine that has two. Don't change anything else. Testable prediction: That won't fix your problem.

  • Multiple JVM instances and host computer performance

    Hi,
    I was wondering if anyone has any facts or sources about how running multiple JVM instances impacts the performance of the hosting computer ?
    For example, say you have a long running server process that creates a JVM, how is the performance of the computer impacted if there are five of those processes running, versus ten versus ...
    This is a very "it depends" question, but I would like to get an idea of the baseline performance impact that comes with running a JVM, and if there is anyone here that has experience running multiple JVMs I'd appreciate any feedback, whether it's "don't do it, ever" or "no problem!"
    Thanks

    My only experience with multiple VMs is when I have several Java GUI apps (eclipse, jedit, dbvisualizer) plus tomcat and maybe an ant running on XP.
    I don't think that the existence of multiple VMs is in and of itself a problems, but JVMs do tend to be fairly memory hungry, so if you don't have a lot of RAM, you may find yourself crawling along as swapping heats up.
    I think that later versions of the Windows VM have started to take advantage of sharing certain core libraries, or pieces of them, so that you don't have as big an incremental memory footprint for additional VMs. I don't know which versions or how much this actually reduces the foot print of second and subsequent VMs though.

  • Multiple JVMs foe One WL6.1 instance

    Hi,
    Is it possible to attach multiple JVMs to an instance of WLS6.1
    so that all JVMs will be self sufficient in serving client requests....
    If it is possible then any pointers in that direction..???
    regards
    aseem

    Each WL server runs in one JVM. If you want to have 4 JVMs, then run 4 WL
    servers in one cluster.
    "Aseem Rastogi" <[email protected]> wrote in message
    news:[email protected]..
    currently our App runs on 2 Iplanet App Server ( they are in Cluster)
    and each App server has 2 VMs so we we are getting the feel of 4independent
    App Servers but Physically we are able to get away with only 2 boxes.
    We want to achive the same thing in Weblogic...
    thanx
    aseem
    Michael Reiche wrote:
    1) What is your requirement?
    2) Clustering.
    "Aseem Rastogi" <[email protected]> wrote in message
    news:[email protected]..
    Hi,
    Is it possible to attach multiple JVMs to an instance of WLS6.1
    so that all JVMs will be self sufficient in serving client
    requests....
    >>>
    If it is possible then any pointers in that direction..???
    regards
    aseem

  • Multiple JVM's in one JDK

    Hi,
    I am curious to know if one JDK spawning multiple JVM's cause any memory/performance issues. The reason being, my company is planning to have number of applications running in one Weblogic Server instance with Multiple JVM's spawning out of same JDK.
    Please let me know if this is possible and if there are any negative effects of following this approach.
    Any help is greatly Appreciated.
    Thanks

    JDK installation is a just binary. There is not limit on creating number of JVM runtime process.
    There should not be negative effect assuming you have enough capacity on hardware box.

  • Multiple RTMP sources streaming to FMS without stop?

    I have some .mov files want to stream to Flash media server by ffmpeg.
    i have already tried to stream a single .mov by FFMPEG command in terminal and it works, the FMS can display the thing i streaming in live.
    ffmpeg -re -i file1.mov -vcodec libx264 -f flv rtmp://localhost/livepkgr/livestream
    Now i want to stream multiple files as one source, i tried to use above command one by one,
    but it seems Flash media server stop the streaming when file1 is finished, then start the stream with file2.
    It makes the stream player stopped when file1 is finish, and i have to refresh the web page in order to continue on file2.
    i am calling the FFMPEG command by a C program in linux,
    i wonder is there any method that i can prevent the FMS stopped when i switch the file source in FFMPEG?
    or is that possible to let FFMPEG constantly deliver the stream by multiple files source without stopped when a file finish?
    Sorry have for asking a lot recently... but this is urgent to me... thank you

    i am trying to prevent fms pause the publishing the video after publisher stop.
    i tried to comment out all the codes in this 3 method in main.asc 
    application.onUnpublish = function(clientObj, streamObj)
    Client.prototype.FCUnpublish = function( streamname )
    Client.prototype.releaseStream = function(streamname)
    but still when publisher stop, the client side player stop imeediately.
    Also i am can fms receive the stream as soon as possible, and let the video play until the end?
    for example
    i have a video have 5mins length, my publisher software can fast enough deliver the video
    within 30 secs, so that fms should already have 5mins content for broadcasting, can fms
    keep on the broadcasting even the connection from publisher to fms is finish?

  • Multiple data sources to open hub destination ??

    Hi,
            Is it possible to assign multiple data sources to open hub destination?
    At present we are FTP'ing a file to users. Users need one more field added to this file. The information for this field belongs to another ODS. I  checked the infospoke but it does not accept multiple data sources.
    Any ideas?
    Thanks!
    Edited by: BI Quest on Sep 4, 2008 8:12 PM

    You can create multiple transformations for open hub destination. Create destination of open hub destination to be file on application server and then use transfer mechanism to transfer files to desired destination.
    Regards,
    Pravin Karkhanis.

  • Multiple data sources with UME

    Hi,
    I want to run several (web) applications on my SAP WebAS. And these applications should have different user stores. That is, one should be a database, one a SAP ABAP System and another should be another ABAP System.
    How can I configure the UME correctly?
    Do I have to configure different data sources? Or do I have to write my own loginmodules?
    And what's the situation if I have WebDynpro Apps? There I cannot use custom loginmodules, can I?
    In the SAP Library it says that "UME can be configured to read and write user-related data from and to multiple data sources".
    http://help.sap.com/saphelp_nw04/helpdata/en/e5/618a3eacd49076e10000000a114084/frameset.htm
    Any hints?
    Best regards,
    Kilian.

    Hi Michael, hi John,
    All these 3 apps are independent, i.e. they have different users no "overlapping" users. We need for every independent, homogeneous group of users an own user store.
    As John stated, we can edit a UME configuration XML file and define multiple data sources in it. However, this is still a server-wide user store.
    Is there no way to assign an application to a user store or a UME data source and not have a server-wide user store?
    And if not where can I get a description of these "initial namespace-attribute-value triples" mentioned in the SAP Library on User-Based Data Partitioning (see http://help.sap.com/saphelp_nw04/helpdata/en/cd/eafc3f8fc2c542e10000000a1550b0/content.htm).
    Many thanks,
    Kilian

  • CFTransaction & Multiple data sources

    We have the need to update to multiple data sources under
    CFTransaction. We have two MSSQL databases so I was able to create
    a view in one to the other and that works (unless someone knows of
    a problem that could cause). But we also have a MSAccess db that
    gets hit too under the same CFTransaction. CF does not allow you to
    have multiple data sources under one CFTransaction. If all the
    tranasction control is on the db side, why does CF care if there
    are different data sources?
    Thanks.

    As I said in my original post, in order for a transaction to
    span multiple databases, you need to do what's called "2-phase
    commit" or "distributed transactions". This is not a trivial thing
    to do, nor is it something that is often needed (especially in
    Coldfusion, which is 99% of the time talking to a single database).
    Why do you need to do 2-phase commit? and why isn't it
    trivial?
    "2PC is an acronym for 2 Phase Commit. This is a protocol by
    which data being committed to a database is committed in two
    phases. In the first phase, the transaction processor checks that
    all parts of the transaction can be committed. In the second phase,
    all parts of the transaction are committed. If any part of the
    transaction indicates in the first phase that it cannot be
    committed, the second phase does not occur. ODBC does not support
    two-phase commits."
    http://docs.openlinksw.com/virtuoso/twopcimplementation.html
    I don't think Access supports 2-phase commit. Access isn't
    really intended for the kinds of things that need 2-phase commit,
    which Microsoft readily admits (hence MS SQL Server).
    > My thought is that it is not allowed because CF only
    remembers one data source per cftransaction therefore can only send
    one commit or rollback instruction. If that's the case, it sounds
    like a simple enhancement.
    No, this isn't allowed because distributed transactions is a
    non-trivial thing. This isn't all handled on the database side, as
    you reference. If you're dealing with one datasource, yes, it does.
    Once you pull in a 2nd datasource, you need something that can talk
    to all databases involved (a transaction coordinator) and 1) check
    to make sure everything can be committed safely then 2) commit
    everything (hence 2-phase commit).
    Basically, you're trying to do something that's non-trivial,
    you don't understand why it's non-trivial, so you're getting
    frustrated. I realize you're not a Java shop. I was simply trying
    to explain to you why it was non-trivial, and a method to work
    around that if you so desire.

  • Cdc on multiple joined source datastores

    Hi gurus,
    There are multiple source datastores and one target datastore in my interface.All of source datastores will be modified by ct application in future,How to enable cdc on multiple source datastores ?Is there any "thumb of rule" for cdc of multiple joined source datastores?
    Source: DB2/AS400
    Target: SQL SERVER 2000
    Thanks
    nan

    Hi nan,
    As i wasn't tried CDC on the source and target you specified,to give you a hint,
    For achieving CDC on multiple data stores, you can use JKM Consistent mode. This will make sure that all your data stores within the particular model will be CDC'ed and PK and FK relations will be maintained.
    Thanks,
    G

  • JVM Source code

    Hi all,
    Does anybody know from where can i get the Sun's JVM source code.
    Thanks
    Hashin

    You should be able to "make product" to create a libjvm.so for the server JVM, or "make product1" to create a libjvm.so for the client JVM. Then use that libjvm.so to replace the libjvm.so in an installed JDK: e.g., jre/lib/sparc/server/libjvm.so or jre/lib/sparc/client/libjvm.so. Then run the bin/java command from that JDK and it should find your modified libjvm.so. (You'll probably want a separate installation to play with, since you wouldn't want to accidently break your real JDK.)
    The "make jvmg" and "make jvmg1" targets will make libjvm_g.so files (for the server and client, respectively) that you can use with the java_g commands to get (much) more internal assertion checking and better symbols for debugging, etc. (I gather you are working with JDK-1.5.0, rather than JDK-1.6.0, which has a slightly different structure.)

  • Multiple JVM

    Hi All
    Can I run Weblogic server with multiple JVMs . I do do not mean here Sun JVM and Jrocket but I mean for example instead of 1 Sun JVM , Can I increase the processes to 3 or 4 JVM. In the old ORacle App Server we can use mutiple JVM by assigning by increasing the number of processes in opmn.xml . Can we do the same thing in Weblogic server ?
    Thanks

    Not to my knowledge. It is also not really good practice to use multiple JVM's.
    This is due to the replication of data between separate JVM's (the one JVM
    has to know what the other was doing when it crashes). This will become
    a performance issue if you have large amounts of data which gets replicated.

  • SSP5: Using multiple JVM for load balance performance?

    Sun 12 MAY 2002
    Apps 11.0.3
    SSP5 patchset I
    HP UX 11.0
    db 8.1.7.2 (64-bit)
    Load 60 concurrent sessions, each spawning 2.5 - 3 http connections.
    CPU 3:750Mhz
    RAM 8G
    Is anybody using multiple JVM for load balance?
    What is your ratio of JVM to concurrent iP sessions?
    Are you running Apache/Jserv on a server with any other applications, or is Apache by itself?
    If you are not using JVM, how many httpd processes do you get before Apache implodes? We stopped in the water at 90 httpd processes, but performance degraded starting at 70 sessions.
    Thx - Don

    Using Web Cache to load balance servlet-based Forms (6i and 9i) is unofficially supported. I say "unofficially" because we have actual customers doing it and getting support, but the 2 development teams (Forms and Web Cache) haven't actually done any integration testing of this sort of configuration yet. For your case, please contact your Support rep and ask what was done to use Web Cache as a load balancer for Forms6i at METRO in Germany. The Forms product managemment team is writing up a white paper to describe how to do it, but until then, you'll need to go through Support. Please contact me if you want more information.

  • Report model to have multiple data sources

    Hi,
    We have requirement to develop report model in 2008 having multiple data sources which includes SQL SERVER 2012 and Oracle database so end user can all the relevant data in one place to run in report builder. So please advise how this can be achieved.
    One option I can think of pulling all the data into one database through SSIS and then build a smdl on it.
    I heard it might be possible to build Tabular cube and then use Report builder on it not sure which is the best option unless any other solution.
    Thanks,

    There are multiple options
    1. If its just for need of a single report then you don't necessarily need to use SSIS and bring all data to single database for that. SSRS supports multiple heterogeneous datasources so you can simply create multiple datasources one fro SQLServer and one
    for Oracle. Then you can create datasets based on these datasources and use them inside reports to display the data from the two systems.
    One thing to note here is that SSRS provides only limited capability to merge fields from multiple datasets within same container through the use of Lookup, LookupSet etc functions so if you want to do lots of comparison ,manipulation of fields against two
    datasources then you need to go for common database approach itself. This involves building a datawarehouse/datamart which will assmeble data from various sources and change them into format which  report expects. Then its just a matter of using single
    datasource pointing to this common repository for your reports.
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

Maybe you are looking for