Re: cross-vm cache - group name?

From: Tore Halset (halse..vv.ntnu.no)
Date: Mon Jan 10 2005 - 07:06:30 EST

  • Next message: Andrus Adamchik: "Re: object id's are not sequential - ?"

    On Jan 7, 2005, at 15:19, Andrus Adamchik wrote:

    > Hi Tore,
    >
    >> Should I make javagroups use another group name or
    >> should I customize the address/port?
    >
    > You need to set a distinct address/port combination for each "group".
    > IIRC
    > this should work without renaming the domain.
    >
    > Now if you don't want to repackage the war to change port and address
    > in
    > cayenne.xml, you may need to choose a "custom transport" option for
    > remote
    > cache synchronization and implement your own subclass of
    > JavaGroupsBridgeFactory, overriding "createEventBridge" method to infer
    > port/address from the environment using your custom logic.

    Hello. Thanks for the info!

    I have not found an easy way to create different port/address for every
    war/database that we are running as each war does not know about the
    others. Perhaps I should just pick a random number and see if that is
    used by another database?

    I also tried to create a custom external subject name in my subclass of
    JavaGroupsBridgeFactory. It worked very well, but the log are filled
    with lines like:

    12:50:22,690 WARN [UDP] discarded message from different group
    (org_objectstyle_cayenne_access_DataRowStore_gdsdomain_customerA).
    Sender was 159.162.61.72:53581
    12:50:31,629 WARN [UDP] discarded message from different group
    (org_objectstyle_cayenne_access_DataRowStore_gdsdomain_customerB).
    Sender was 159.162.61.72:53591
    12:51:49,907 WARN [UDP] discarded message from different group
    (org_objectstyle_cayenne_access_DataRowStore_gdsdomain_customerB).
    Sender was 159.162.61.25:43390

    I guess I should figure out how to create different port/address for
    every customer.

    Regards,
      - Tore.

    >
    > Andrus
    >
    >
    >> Hello and a happy new year!
    >>
    >> I am trying my application with cross-vm cache turned on for the first
    >> time and have a question.
    >>
    >> First - my setup: I have a single application packed as a war. We
    >> deploy several instances of the same war in a single tomcat instance:
    >>
    >> server1:
    >> customerA.war
    >> customerB.war
    >>
    >> I use a custom JNDIDataSourceFactory that makes customerA.war connect
    >> to "java:/customerADS" and customerB.war connect to
    >> "java:/customerBDS". A and B are two different databases. This way,
    >> all
    >> the war-files are identical. customerA should never notify customerB
    >> about a cache change.
    >>
    >> In the future we might buy some more servers and go with a setup like
    >> this:
    >>
    >> server1:
    >> customerA.war
    >> customerB.war
    >> server2:
    >> customerA.war
    >> customerB.war
    >>
    >> So customerA on server1 and server2 should notify each other about
    >> cache changes, but customerA should never notify customerB.
    >>
    >> How can I use DataRowStore remote notify in this setup? I would love
    >> to
    >> *not* use ant to customize the war-files as it is very nice to have
    >> equal content in all the war-files.
    >>
    >> From the documentation: " Synchronization is only done between remote
    >> DataDomains with the same name. Note that for JavaGroups
    >> configuration,
    >> a combination of multicast address and port must be unique for each
    >> DataDomain name.". Should I make javagroups use another group name or
    >> should I customize the address/port?
    >>
    >> Regards,
    >> - Tore.
    >
    >



    This archive was generated by hypermail 2.0.0 : Mon Jan 10 2005 - 07:06:36 EST