JMS and Data Cache Synchronization

We have setup Toplink to do cache synchronization using Tibco JMS. For some reason Toplink connects to JMS using the name "anonymous" in addition to connecting with the user name we specify in the code. Toplink also seems to connect to some queue in addition to the Topic that is mentioned in the code. Does anyone know why Toplink would behave like this?

would not expect TopLink to connect twice at all. Is it possible that another service from within the ApplicationServer is connecting? I would recommend changing the JNDI location or the service port of the TIBCO JMS service and altering the TopLink JMS Clustering Service URL to reflect this change. Then verify that multiple connections are still being acquired.
--Gordon

Similar Messages

  • JMS Exception during cache synchronization

    Hi,
    I am using JMS cache synchronization fro two applications . During cache synchronization I got this exception
    Local Exception Stack:
    Exception [TOPLINK-0] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.CommunicationException
    Exception Description: javax.jms.JMSException: enqMessage at oracle.toplink.remote.jms.JMSConnection.processCommand(JMSConnection.java:54) at oracle.toplink.internal.remote.ChangeSetPropagator$1.run(ChangeSetPropagator.java:64)
    Has this something to do with the message size ?
    Appreciate any help.
    Thanks
    Priya

    would not expect TopLink to connect twice at all. Is it possible that another service from within the ApplicationServer is connecting? I would recommend changing the JNDI location or the service port of the TIBCO JMS service and altering the TopLink JMS Clustering Service URL to reflect this change. Then verify that multiple connections are still being acquired.
    --Gordon

  • Adjusting CALCLOCKBLOCK and data cache

    if my block size is 37464 then what should my CALCLOCKBLOCK size in the cfg.file be
    Per doc (Max=half of the number of block that can fit in to the data cache)
    and my data cache is 3072 kb
    what is the best setting for the data cache and the CALCLOCKBLOCK
    or should i just use a Data memory loclking
    and if i do use the the data cache lock what would be the CALCLOCK BLOCK Setting
    this is how is set it up in my cfg.file
    //Set Calc Lock Block, How many block can be locked at one time
    CALCLOCKBLOCKHIGH 5000
    CALCLOCKBLOCKDEFAULT 2000
    CALCLOCKBLOCKLOW 500
    Please advise
    Edited by: Next Level on Jul 4, 2012 2:05 AM
    Edited by: Next Level on Jul 4, 2012 2:11 AM
    Edited by: Next Level on Jul 4, 2012 2:35 AM

    FWIW, I have never, and I mean never touched CALCLOCKBLOCK. I can see why one might want to fiddle with it, but in 18 years (yikes!) of BSO development, I have never seen a reason to do it.
    Why do you want to change that value? 99.999% of the time, the issue isn't the number of blocks in memory isn't the issue, but the ability to have the default (I think) 100 blocks in memory. I suppose one could have a calc that touches more blocks, but I have never seen it. It would be slow, for sure and I would likely find another way to do the calc.
    Regards,
    Cameron Lackpour

  • IFS and Data Cache Configuration

    Hi!!
    i installed 9iAs Enterprice Edition on my machine that already had Oracle db 8.1.7, i'm trying to set up ifs, but when i choose the option "Oracle8i is on THIS machine" in the ifs wizard i've got a protocol adapter error, if i choose the option "oracle8i on another machine" i solved the problem, why is this happening???
    the other problem it's with theb database cache i started the wizard, but in 16% when it's creating the cache it stoped it didn't show any error, i leaved for 2 days but it just reached the 16% and stayed ther.
    could you please help me..

    For iFS configuration on Enterprise Edition you can't select the option, "Oracle8i is on THIS machine". Actually this is a typo. This should be "Oracle8i is on THIS oracle_home". This will be fixed in future releases. iFS can't be configured against database cache(icache) also. So definitly you need a database which is on another oracle_home and you should select the second option, "oracle8i on another machine".
    From the second problem, I assume you are installing 9iAS on a Windows NT platform. On NT, sometimes database cache hangs. I assume it is mainly because of less memory. How much is the memory in your system? Are you running so many processes on the system while cache configuration? If so, reduce it as much as you can and retry for cache configuration. You may need to manually shutdown one SQLPLUS.EXE process in 'Task manager' started from the current cache configuration before retrying the config.

  • JMS Cache Synchronization Manager

    Hi all,
    I am trying to implement distributed cache synchronization in TopLink using JMS.
    On http://download-west.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1022254 , there is an example given which has a snippet of the sessions.xml file.
    The example snippet shows a tag <naming-service-initial-context-factory> under the <cache-synchronization-manager> tag. But on the DTD given on http://download-west.oracle.com/docs/cd/A97688_12/toplink.903/b10064/a-sessio.htm#634251 , I cant find an element <naming-service-initial-context-factory>. Please let me know which one is wrong - the DTD or the example?
    Also, I tried to use JMS for distributed cache synchronization. My JMS Server is running on a seperate VM and I have configured info about it in the sessions.xml file. But TopLink is complaining that it cannot find the top and connection factory. Yet, I am able to look them up from a standalone program.
    Does anyone have any experience setting this up? Any examples?
    Thanks,
    Binil

    Hi Doug,
    Thanks for the clarifications! :)
    I am not able to get the JMS Cache Synchronization work still :( I am new to JMS & Toplink - so I will try to explain what I am doing and please let me know if there is something I am doing wrong.
    I have an EJB application which is a Stateless Session bean which has two methods : one to fetch an entity and another to update an entity. Also, I have a weblogic domain in which I have three managed servers - appServerOne, appServerTwo and jmsServer. On appServerOne and appServerTwo I have deployed the above mentioined application. On jmsServer, I have configured my ConnectionFactory and Topic and the JNDI names of those are provided to the EJB application.
    With this setup, I run two client programs. I will list the steps below:
    1. Client1 fetches an entity whereby it is loaded to the TopLink cache. The DB logs show that a SELECT query is issued to the DB.
    2. Client2 fetches the same entity whereby it is loaded to the cache; again a SELECT query is issued.
    3. Client1 updates that entity using UOW; the logs dont show a DB UPDATE statement though. But the updates are indeed made to the DB when I check them.
    4. Client1 fetches the entity again; the updates are visible and the JDBC logs show that a trip to the DB is not done.
    5. After waiting for sometime Client1 fetches the same entity again and I get the stale data! :(
    I have enabled logging, so I am hoping that TopLink will log a message when a JMS notification is posted. Also, I have made the cache synchronization synchronous, so that the transaction shouldnt commit before the notification being send.
    I tried making the stateless session bean stateful and it still didnt work. Is there anything I need to do.
    Cheerio,
    Binil

  • Data File Cache / Data Cache

    I have a few Questions regarding Data File cache and data cache. based on teh size of the application.
    All the settings are changed by using a maxl script.
    1. Data File cache-50MB,Data Cache - 100MB
    I am using Buffered I/O, then will memory be allocated to Data File cache?
    2. It is given in DBAG that data cache & index cache should be set as small as
    possbile for both buffered & Direct I/O. The size of one of my application is
    around 11 GB. data file :11GB,index File :450MB
    I have set my index cache to 450MB and data cache to 700MB.
    Is it OK or a. what should be my data cache size?
    b. How do I calculate the optimal Data cache and index cache?
    3. the memory size of our AIX server is 6GB. If i use Directo I/O, can my sum of
    all caches be 4GB?
    4. If I use buffered I/O, according to (2), what should be my cache sizes?
    Thanks
    Amarnath

    In the DBAG it states data file cache is not used with buffered IO so the answere to 1) should be NO.
    For 2) there is a hint in the DBAG that you should check the hit ratio of the caches to verify sizing, only calculatory advice for sizing is given on the calulator cache :-( This would mean for 2b) look at the hit ration if it stays around 1.0 try to decrease it until it drops slightly. Inspect the ratios from time to time.
    3) don't know, 64bit should be no problem. But why would you do this anyway?
    Example form our settings pag total ~20GB ind ~2GB
    outline hat 11 dimensions with a block size of ~340KB largest dense ~400 members, largest sparse ~4000 members, existing blocks ~2.7 milions
    The data cache is set to 256 MB, the index cache to 64MB our hit ratios are 1.0 for index cache and 0.77 for data chache. so our data cache could be larger, but the performace of retrievals is around 3.0 seconds which is fine for our users..
    4) Check your hit ratios and try to increase or decrease the cahces in small steps (first I'd do the index cache, the if it's fine I'd tune the data cache).
    hope it helped a bit..

  • Essbase data cache setting not registering

    Hi,
    We have 64-bit essbase. I changed the data and Index cache setting (storage type Buffered IO) in essbase.
    After restarting the database, I see the value getting updated in the "Index cache current value" but the value in the "Data cache current value" is zero.
    These are planning essbase databases. The behavior is same for the native essbase dbs.
    I have also tried restarting the essbase service. The essbase version 11.1.1.3
    Please help.
    Regards,
    Avi

    Indes and data caches work differently and it is probably good to talk about that. When an Essbase database starts, it will grab all of the memory you have defined for the index cache and nothing else can get at it. Data cachs is grabbed as it is needed until it reaches the maximum. It was truly problematic in the old days when we had much less memory to work with. If you started too many applications, you took all available memory right away. Man I feel old talking about it :)

  • Essbase BSO data cache setting

    can you guys post your BSO cube compressed data size(.pag files) and data cache setting? I am trying to get a better understanding about these two areas interms of optimization. I am also curious to know the maximum data cache setting ever used on BSO cube....(1 GB is what I know as of now)
    I think the settings depends on million things (available RAM on server, performance check, etc etc) but just a quick check.
    Thanks,
    KK

    Indes and data caches work differently and it is probably good to talk about that. When an Essbase database starts, it will grab all of the memory you have defined for the index cache and nothing else can get at it. Data cachs is grabbed as it is needed until it reaches the maximum. It was truly problematic in the old days when we had much less memory to work with. If you started too many applications, you took all available memory right away. Man I feel old talking about it :)

  • Cache Synchronization with JMS and a Message Driven Bean (MDB)

    If I understand correctly, Toplink ueses the following configuration info to find the target to publish its session messages to a JMS server (having its URL as below) which provides the JNDI service that Toplink needs to look up the topic:
    <cache-synchronization-manager>
    <clustering-service> oracle.toplink.remote.jms.mdb.JMSPublishingOnlyClusteringService
    </clustering-service>
    <should-remove-connection-on-error>false</should-remove-connection-on-error>
    <!-- both of the following tags are user specified and must correspond to -->
    <!-- the settings that the user has made, manually, to the JMS Service -->
    <jms-topic-connection-factory-name> jms/TopLinkTopicConectionFactory
    </jms-topic-connection-factory-name>
    <jms-topic-name>jms/TopLinkCacheSynchTopic</jms-topic-name>
    <!-- both of the following tags will be required if OracleAS TopLink -->
    <!-- is not running in the same JVM as the JNDI service that is hosting the JMS Topic -->
    <naming-service-url>ormi://localhost:23791</naming-service-url>
    <naming-service-initial-context-factory> com.evermind.server.rmi.RMIInitialContextFactory </naming-service-initial-context-factory></cache-synchronization-manager>
    The MDB also uses the same JNDI service provided by the JMS server to listen to the topic which is named in the ejb-jar.xml file:
    <enterprise-beans>
    <message-driven>
    <display-name>TopLink clustering MDB</display-name>
    <ejb-name>TopLinkClusteringMDB</ejb-name>
    <ejb-class>com.mycompany.mdb.ClusteringMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination> <destination-type>javax.jms.Topic</destination-type>
    </message-driven-destination>
    <env-entry>
    <description>TopLink session name</description>
    <env-entry-name>tl_session_name_for_mdb</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Employee_Session</env-entry-value>
    </env-entry>
    <resource-ref> <description>description</description>
    <res-ref-name>jms/TopLinkTopicConectionFactory</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-env-ref>
    <resource-env-ref-name> jms/TopLinkCacheSynchTopic</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type> </resource-env-ref>
    </message-driven></enterprise-beans>
    To do this, the EJB container that hosts the above MDB needs to be configured to know where the JMS server is by using the above URL same as in the Toplink sessions.xml file.
    I am not clear that who provides the JNDI service for the Toplink session name lookup used by the MDB:
    // Obtain the Session name configured in the environment variable
    String sessionName = (String) myEnv.lookup(TOPLINK_SESSION_NAME);
    session = SessionManager.getManager().getSession(sessionName);
    so that the MDB can find the currently running Toplink session and communicate with it.
    Can anybody help answer my above question and correct my understandings?
    Many thanks!

    Although TopLink is running in the application server’s VM, the only notable integration points with the server are for JTA and user-defined data sources. All of the work performed to get a session via SessionManager occurs solely within TopLink. When the call is made to retrieve a session, you aren’t getting the ‘active’ session identified by “Employee_Session” that is registered with the application server, rather a new session is created using the definition that exists for “Employee_Session” in sessions.xml.
    When the call ‘session = SessionManager.getManager().getSession(“Employee_Session”)’ is made, the SessionManager simply looks for sessions.xml at the root level of its deployed jars or classpath, then looks for the “Employee_Session” tag within sessions.xml. If a session exists in the file with that name then a TopLink session object is created and returned.
    Note that setting an environment entry as mentioned above simply allows for the session name to be declared dynamically. The call to ‘myEnv.lookup(“tl_session_name_for_mdb”)’ simply asks the bean’s environment for the <env-entry-value> that matches the <env-entry-name>. That string is then used in SessionManager (no different than a hard coded value would be) to identify the session in sessions.xml that is to be loaded.
    I hope this makes sense.

  • JMS Cache Synchronization - Merge or Database Read?

    When an object in one JVM is changed does TopLink' JMS cache synchronization mechanism merge the changes into the other JVMS in a cluster or does it just signal that the object is dirty and the object is re-read from the database?
    If the answer is 'merge' does a post merge event get called on the object being merged?
    thanks
    Steve

    In TopLink 10.1.3 both can happen, the changes can be merged or an object can be marked invalid and TopLink will refresh the object as needed. In 9.0.4.X the changes will be merged into the other caches (if an object of correct version exists in that cache).
    In the case of a merge postMerge() event will be called.
    --Gordon

  • JMS & Cache synchronization

    We have setup Toplink to do cache synchronization using Tibco JMS. We are using Tomcat Servlet environment. We are using the pre-login event in Toplink to specify the necessary information required for cache synchronization using JMS. For some reason Toplink connects to JMS using the name "anonymous" in addition to connecting with the user name we specify in the code. Toplink also seems to connect to some queue in addition to the Topic that is mentioned in the code. Does anyone know why Toplink would behave like this?

    Hello,
    TopLink uses JNDI to get the TopicConnectionFactory, and will login using the username/password you have specified. It then calls createTopicConnection() that will use the default userid to get a connection to a Topic, so this could be what you are referring to. The login specified in the cache synch setup is only to access JNDI.
    That said, TopLink does not use a queue that I have ever seen. The source code for the JMSClusteringService is shipped with TopLink and can be used to fill in parts left out of the documentation, as well as allow for customizations. In this case, it would be good to review it to get an understanding of the calls TopLink does to connect. If this does not help, I'd need to see the configuration used to set up cache synchronization.
    Best Regards,
    Chris Delahunt

  • Setting up cache synchronization using JMS on Tomcat

    I'm trying to enable cache synchronization using JMS on Tomcat 5.0; Does anyone have any tips on how to do this?

    Configure the TIBCO service to provide a Topic and a TopicConnectionFactory for TopLink to use.
    You will need to register for a pre-login event configured on the session that will configure the JMSClusteringService for the TIBCO service.
    ie.
    JMSClusteringService clusteringService = new JMSClusteringService(event.getSession());
    event.getSession().setClusteringService(clusteringService);
    Hashtable env = new Hashtable();
    env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY , "TIBCOFactoryClassName");
    env.put(javax.naming.Context.PROVIDER_URL, "url");
    env.put(javax.naming.Context.SECURITY_PRINCIPAL, "userName"));
    env.put(javax.naming.Context.SECURITY_CREDENTIALS,"password");
    clusteringService.setInitialContextProperties(env);
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • I want to upgrade my storage plan in icloud. Before that i want to know whether synchronization of data in my PC and data in one of the applications of ipad is possible through icloud or not

    I want to upgrade my storage plan in icloud. Before that i want to know whether synchronization of data in my PC and data in one of the applications like "phone drive" of ipad is possible through icloud or not?

    The Photos app doesn't currently support subfolders, it only has the one level of folder/album. You will either need to change your folder structure on your computer to be just one level, see if there is a third-party photo app in the store that copes with subfolders, or just make do. You can try leaving feedback for Apple : http://www.apple.com/feedback/ipad.html

  • Dynamic Calc processor cannot lock more than [100] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting).

    Hi,
    Our Environment is Essbase 11.1.2.2 and working on Essbase EAS and Shared Services components.One of our user tried to run the Cal Script of one Application and faced this error.
    Dynamic Calc processor cannot lock more than [100] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting).
    I have done some Google and found that we need to add something in Essbase.cfg file like below.
    1012704 Dynamic Calc processor cannot lock more than number ESM blocks during the calculation, please increase CalcLockBlock setting and then retry (a small data cache setting could also cause this problem, please check the data cache size setting).
    Possible Problems
    Analytic Services could not lock enough blocks to perform the calculation.
    Possible Solutions
    Increase the number of blocks that Analytic Services can allocate for a calculation:
    Set the maximum number of blocks that Analytic Services can allocate to at least 500. 
    If you do not have an $ARBORPATH/bin/essbase.cfg file on the server computer, create one using a text editor.
    In the essbase.cfg file on the server computer, set CALCLOCKBLOCKHIGH to 500.
    Stop and restart Analytic Server.
    Add the SET LOCKBLOCK HIGH command to the beginning of the calculation script.
    Set the data cache large enough to hold all the blocks specified in the CALCLOCKBLOCKHIGH setting. 
    Determine the block size.
    Set the data catche size.
    Actually in our Server Config file(essbase.cfg) we dont have below data  added.
    CalcLockBlockHigh 2000
    CalcLockBlockDefault 200
    CalcLockBlocklow 50
    So my doubt is if we edit the Essbase.cfg file and add the above settings and restart the services will it work?  and if so why should we change the Server config file if the problem is with one application Cal Script. Please guide me how to proceed.
    Regards,
    Naveen

    Your calculation needs to hold more blocks in memory than your current set up allows.
    From the docs (quoting so I don't have to write it, not to be a smarta***:
    CALCLOCKBLOCK specifies the number of blocks that can be fixed at each level of the SET LOCKBLOCK HIGH | DEFAULT | LOW calculation script command.
    When a block is calculated, Essbase fixes (gets addressability to) the block along with the blocks containing its children. Essbase calculates the block and then releases it along with the blocks containing its children. By default, Essbase allows up to 100 blocks to be fixed concurrently when calculating a block. This is sufficient for most database calculations. However, you may want to set a number higher than 100 if you are consolidating very large numbers of children in a formula calculation. This ensures that Essbase can fix all the required blocks when calculating a data block and that performance will not be impaired.
    Example
    If the essbase.cfg file contains the following settings:
    CALCLOCKBLOCKHIGH 500  CALCLOCKBLOCKDEFAULT 200  CALCLOCKBLOCKLOW 50 
    then you can use the following SET LOCKBLOCK setting commands in a calculation script:
    SET LOCKBLOCK HIGH; 
    means that Essbase can fix up to 500 data blocks when calculating one block.
    Support doc is saying to change your config file so those settings can be made available for any calc script to use.
    On a side note, if this was working previously and now isn't then it is worth investigating if this is simply due to standard growth or a recent change that has made an unexpected significant impact.

  • BAM Report and Active data cache

    I am having problems with reports that have automatic active data retrieval.
    It does not work.
    If I load the report it extracts the data correctly from an external data source. If I Reprompt or refresh it brings back changed data from the data source.
    It does not automatically poll for changes even though it is set in the report properties.
    If I stop and start the Active data cache service it starts polling and reconnecting, but not resynching the data.
    In the Active data cache log I have the following entries :
    2005-12-01 09:36:54,062 [3576] ERROR - ActiveDataCache Viewset not found:
    2005-12-01 09:36:54,078 [3576] WARN - ActiveDataCache Exception occurred in method GetChangeList
    Stack trace:
    at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.GetViewset(String strViewsetID)
    at Oracle.BAM.ActiveDataCache.Kernel.Viewsets.ViewsetManager.GetChangeList(String strViewsetID, Int32 iTimeout)
    at Oracle.BAM.ActiveDataCache.Kernel.Server.DataStoreServer.GetChangeList(String strViewsetID, Int32 iTimeout)
    Has anyone any ideas on what the problem is ?
    Thanks

    Sriram
    Can you identify your company and project.?
    a) Maximum capacity of ADC == maximum capacity of your underlying Oracle DB used by BAM as repository.
    b) Retention period - infinite - data is there in BAM ADC (also in BAM repository) till you manually delete it (there is no automatic delete of old data)
    c) Yes ADC stores its data internally in the Oracle database (aka BAM repository)
    d) No - we generally donot publish ADC internals. This is a known decision since end users will only work either to put data into ADC or plot reports/dashboards from BAM GUI. You have to be very specific on what your are trying to acheive and we can suggest possible alternates.

Maybe you are looking for

  • KT3 dual video no boot

    For no good reason I spent some time this morning trying to get a second monitor working on my main development system. I have a perfectly good Matrox Millenium PCI card, with the VGA disabled, that ought to work fine as the secondary display in a sy

  • DBMS_XMLSave.insertXML slow.

    Hi, I am using the function DBMS_XMLSave.insertXML to take a clob (XML file) off a queue, and process the file into a table. I am finding that inserting 10,000 records (from a single clob) is taking over 30secs. This is an order of magnitude out from

  • Mail package: missing end tag error

    Hi All I am using mail package for my receiver mail adapter. I have the required configuration for mail package as shown below: <ns1:Mail xmlns:ns1="http://sap.com/xi/XI/Mail/30">   <Subject>Test Subject</Subject>   <From>From Sender</From>   <To>To

  • Failed to install after down loading update to ipad 2

    Took about 3 hours downloading OS6.1 to IPAD 2 started install then just stopped.  Update was never installed.  Had closed all PC security and hard wired laptop directly into router before starting update from ITUNES..  Any one having same trouble?

  • InterMedia with IFS

    Hello, We have a database for IFS (on NT). The following trace appears on the ctxsrv: C:\>ctxsrv -user ctxsys/ctxsys@IFSBD1 -personality M Oracle interMedia Text: Release 8.1.6.0.0 - Production on Sa Sep 2 09:47:08 2000 (c) Copyright 1999 Oracle Corp