Event for cache invalidation
Hi,
I'm new to TopLink (10.1.3) and I'm a bit puzzled as to how I'll solve my problem. We are currently loadind resources from the database into memory, about the same way as a ResourceBundle. However, I've set a DailyInvalidationPolicy for the cache and I'm trying to find a way to track an event upon expiry. Is there an Event I can use for a Listener implementation that would reload all my objects into memory from the BD? I've seen events like postRefresh and other events in DescriptorEventAdapter and SessionEventAdapter, but nothing seems to be appropriate. Thanks a lot in advance for any reply...
Hello,
The DailyInvalidationPolicy mechanism does not actively invalidate objects. Instead when an object is requested TopLink checks the read date and determines if the object is invalid and requires refreshing. As such the only event available to mark this operation would be a postRefresh event.
--Gordon
Similar Messages
-
UnitOfWork.refreshObject(); don't fire event for Cache Synchronization
My WebApp use JMS for cache synchronization.
and I need to refresh session Cache by using method unitOfWork.refreshObject() but it don't publish any message to JMSserver.
sinse My JMS cache synchronization work well when I do UnitOfWok transaction(insert,update,delete)
How to force cache synchronization ?
thank you,
Kowit LaisonTopLink cache synchronization only synchronizes changes made through a unit of work, it does not synchronize reads or refreshes.
You will need to perform the refresh on each server, or make your own JMS message to notify your other server's to refresh.
You may also wish to investigate the TopLink 10.1.3 Preview release that adds support for Cache Invalidation and Cache Invalidation Synchronization. You may be able to broadcast an invalidation command for the refresh. -
Deployment: Metadata Cache Invalidation for Adaptive RFC Models
Dear SDN Member,
I have deployed the new "Cache Invalidation" Tool at our portal NW04s SPS12.
We have deployed the tool by using the sdm.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
The entrypoint is not visible in the webdynpro console navigation.
What have I done wrong?
Best regards,
Olaf ReissHello,
we also deployed it to our NW04s SPS12 Portal (since it was NOT included in SPS12)
We deplyoed the correct version. For us it is also not visible in the NWA.
However, it can be called from the Webdynpro console. Then you see it has this direct link.
http://<server>:<port>/webdynpro/dispatcher/local/InvalidationTool/Invalidation
However, the thing still has bugs.
Clicking the button "Get JCO destinations" just crashes with a 500 error (see below). Our developer said
<i>The initial exception that caused the request to fail, was:
java.lang.NoSuchFieldError: flush_cache
at com.sap.invalidation.InvalidationView.onActionGetSLDJCOs(InvalidationView.java:215)
at com.sap.invalidation.wdp.InternalInvalidationView.wdInvokeEventHandler(InternalInvalidationView.java:236)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
... 26 more</i>
Using the lower part and option 2.
("Dictionaries Cache Invalidation" and "Enter Dictionary") is said to be working, if you exactly know the naming.
But how can we invalidate the RFC caches used by Visual Composer?
In Visual Admin/services/Connector Container/../SapFactory/Managed conenction factory/ConnectionDefintion I have already set the Connectionlifetime to 60 and ticked "expiraation" ?
Best regards
Ulf -
Metadata Cache Invalidation for Adaptive RFC Models
Hi,
Im trying the tutorial of the document: Metadata Cache Invalidation for Adaptive RFC Models.
Ive downloaded and deployed the EAR for NW7.0 on my server, but when I try to list the JCO destinations I have the following error:
java.lang.NoSuchFieldError: flush_cache
at com.sap.invalidation.InvalidationView.onActionGetSLDJCOs(InvalidationView.java:215)
When I try to invalidate a dictionary, I have the message:
Cache for Dictionary com.unilog.product.search.model.types.SearchProductModel invalidated
But the tooltip value is not updated in my application...
Can anyone give me some tips to use this component?
Thanks in advance.
Regards,
Clairehi friends
u see this weblogs&pdf,this is helpful for u
/people/bertram.ganz/blog/2007/01/08/the-top-12-hottest-sap-notes-every-web-dynpro-java-developer-must-know
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f3f93ee7-0c01-0010-2593-d7c28b5377c2
Regards'
vino -
Database Change Notification and TopLink Cache Invalidation
Has someone succeeed in implementing the How-to Database Change Notification and TopLink Cache Invalidation.
I have corrected some document errata about the pl/sql content and I manage to have messages in the 'notify_queue'.
I obtain the Topic in Java from this queue.
But the TopicSuscriber instances do not receive any message. Is there something to have in mind to make it work ?
Regards.Reviving this thread again...
I am using DCN feature to build a middle-tier cache. I know oracle has problem sending physical rowid in case of 'Index Organized Table', however, in normal table also its not able to send proper rowid.
e.g, I have 2 records in Table A with rowid AAARIUAAGAAAV/uABw and AAARIUAAGAAAV/pAAX.
I have updated both the records. Strangely for the first record, oracle is sending INVALID rowid, although for the second record its sending the valid one.
Following is the output:
Row 1: (Wrong rowid being sent, AAARIUAAGAAAV/uABw is replaced with AAARIUAAGAAAXDCAAr)
Connection information : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
Registration ID : 2102
Notification version : 1
Event type : OBJCHANGE
Database name : <sid>
Table Change Description (length=1)
operation=[UPDATE], tableName=<table_name>, objectNumber=70164
Row Change Description (length=1):
ROW: operation=UPDATE, ROWID=AAARIUAAGAAAXDCAAr
Row 2: (Right rowid being sent, AAARIUAAGAAAV/pAAX)
Connection information : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
Registration ID : 2102
Notification version : 1
Event type : OBJCHANGE
Database name : <sid>
Table Change Description (length=1)
operation=[UPDATE], tableName=<table_name>, objectNumber=70164
Row Change Description (length=1):
ROW: operation=UPDATE, ROWID=AAARIUAAGAAAV/pAAX
Any idea ? -
WD Java RFC metadata cache invalidation without recycle JAVA
Since we are in a high availability production system, we cannot recycle or CE instance. There are times were the RFC metdata invalidation does not work and the only things that forces it is a recycle of the CE system.
This is contrary to what SAP has publicized, so is there a process in NWA or a single process (and NOT the server0 process) that we can refresh without stopping and starting the java engine.
Much like Visual Administration is there a single service we can stop and start to ensure the engine stays up and running and available?
Thanks
Weyland YutaniHi Weyland ,
did you check the guide ?
Metadata Cache Invalidation for Adaptive RFC Models
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
There's a solution in this guide which explains how to proceed to avoid engine restart in case of ARFC.
(I don't know your engine release, but if it is >= 711, then you may welcome this guide as well:
Using an Adaptive RFC 2 Model in Web Dynpro Java
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50f7192d-2808-2d10-189b-df3fa5f71abf )
I hope this helps.
Best Regards,
Ervin -
How to install the metadata cache invalidation tool
Hi,
I have a problem in using JCO destinations for Adaptive RFC models.
I went through the below pdf and they mentioned metadata cahce invalidation tool and it is not installed in the portal
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
please let me know how to install metadata cache invalidation tool
points will be rewarded for sure for the helpful answersI installed the Meta data cache invalidation tool using SDM and when i am trying to run that application from Content administrator it is throwing an exception
The currently executed application, or one of the components it depends on, has been compiled against class file versions that are different from the ones that are available at runtime.
If the exception message indicates, that the modified class is part of the Web Dynpro Runtime (package com.sap.tc.webdynpro.) then the running Web Dynpro Runtime is of a version that is not compatible with the Web Dynpro Designtime (Developer Studio or Component Build Server) which has been used to build + compile the application.*
Note: the above hints are only a guess. They are automatically derived from the exception that occurred and therefore can't be guaranteed to address the original problem in all cases.
please let me know how to resolve this issue
Points will be awarded for sure
Bala -
How to install metadata cache invalidation tool
Hi,
I have a problem in using JCO destinations for Adaptive RFC models.
I went through the below pdf and they mentioned metadata cahce invalidation tool and it is not installed in the portal
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
please let me know how to install metadata cache invalidation tool
points will be rewarded for sure for the helpful answersThis tool is already installed on your system.
1) navigate to http://<hostname>:<port>/index.html
2) Click on "Webdynpro"
3) Click on "Web Dynpro Console"
3) Login as an Administrator (any user with admin priv's is ok).
4) Notice the last entry in the list -
Is ServerSession Cache invalidated when we use raw SQL thru a UnitOfWork()
Is ServerSession Cache invalidated (for the relevant objects that are mapped to any of the tables used in raw sql) when we use raw update/insert/delete SQL thru executeQuery() on UnitofWork acquired from a clientSession ?
Or we need to do this ourselves by some procedure ?
If there is any documentation about this, could you please refer me towards it.
Thanks,
KrishnaSorry, don't know how that question was missed.
If you update data with SQL or stored procedures, then it's as if another application has updated the database and you must have a solid locking and refreshing policy in place. TopLink updates the cache after a UOW commit based on how you've manipulated the business model, not any adhoc updating SQL.
- Don -
Is there an event for a composite has a new child control?
I want to know is there an event for a composite has a new child control?
For example,
Composite parent = new Composite();
Label child = new Label(parent, SWT.None);
I want to know the parent composite is getting a child label when new label
create then immediately.
Thanks.
FrankAlso, I got this comment (a bit of a warning) from Dimitri:
<blockquote>I just saw this pattern used by <i>[customer]</i> - they (used to check) if the member was senior, and if it was, it was responsible for some periodic cleanup tasks and whatnot.
This worked fine in the test application and broke immediately when we added dedicated cache servers, or standalone JMX console etc, i.e. it is perfectly possible for the Console to be senior without any application classes in it's classpath, or for the dedicated cache server to be senior and only application servers have logic in place to run stuff.</blockquote>
In other words, depending on your deployment, it may not be as simple as just "being senior", you may also want to use a "Role Name" for example (configurable and accessible per member).
Peace,
Cameron Purdy
Oracle Coherence: Data Grid for Java and .NET -
How to trigger DSP cache invalidation and reload?
We have a scheduled job to update the database nightly. I used DSP caching to increase performance since the data only changes during the nightly updates.
Does anyone know how can I trigger the DSP cache invalidation and reload the updated data to DSP cache once the data loading is completed on the database server? (The database is hosted on a different server than DSP.)
Thanks in advance!
NavOn this page
http://e-docs.bea.com/aldsp/docs25/appdev/ejbclt.html
Bypassing the Data Cache When Using the Mediator API
Data retrieved by data service functions can be cached for quick access. This is known as a data caching. (See Configuring the Query Results Cache, in the DSP Administration Guide for details.) Assuming the data changes infrequently, it's likely that you'll want to use the cache capability.
You can bypass the data cache by passing the GET_CURRENT_DATA attribute within a function call, as shown in Listing 3-7. GET_CURRENT_DATA returns a Boolean value. As a by-product, the cache is also refreshed.
Listing 3-7 Cache Bypass Example When Using Mediator API
dataServices.customermanagement.CustomerProfile customerProfileDS =
customerDS=dataServices.customermanagement.CustomerProfile.getInstance(ctx,appName);RequestConfig
config = new
RequestConfig();attr.enableFeature(RequestConfig.GET_CURRENT_DATA);CustomerProfileDocument
customerProfileDoc customerPlofileDS.CustomerProfile(params,config); -
Cache Invalidation using Invalidation Rule -not working
Hi,
I am caching a JSP using servlet caching by specifying it in the cachespec.xml. I am setting a dependency id for the cache entry and have also set an invalidation rule saying if the dependency id comes as a parameter for "xyz" then invalidate the cache. The jsp is getting cached, and the value that I specify as dependency id is also appearing. But when i try to invalidate it by passing the parameter say "http://localhost/wps/myportal/dynacache?xyz=1234", the cache doesnt get invalidated.
Please suggest as what is the issue with this approach? Why is the cache invalidation not happening as per the rule set? Is there any other approach to invalidate it other than TTL? I understand invalidation-generator can only be used for web-service client cache.
Please reply ASAP..
This is my cache entry
<cache>
<cache-entry>
<class>servlet</class>
<name>/_caching/jsp/html/CachingPortletView.jsp</name>
<cache-id>
<component id="Cached" type="attribute">
<required>true</required>
</component>
<component id="locale" type="locale">
<required>false</required>
</component>
<component id="" ignore-value="true" type="pathinfo">
<required>false</required>
</component>
</cache-id>
<dependency-id>test
<component id="Cached" type="attribute">
<required>true</required>
</component>
</dependency-id>
<invalidation>test
<component id="Cached" type="parameter">
<required>true</required>
</component>
</invalidation>
</cache-entry>
</cache>
Regards,
SaribaThis sounds like an application server specific configuration, which is off-topic here. Try a forum devoted to your application server.
-
Hi, all.
The database is 2 node RAC (10.2.0.2.0) on 32-bit windows 2003 EE SP1.
One session on Node 2 is waiting for "library cache lock" to be released
for "178874" seconds.
The detail for the session is as follows:
SID : 444
TYPE : USER
PROGRAM : ORACLE.EXE(J001)
MODULE : EM_PING
EVENT : library cache lock ▲
WAIT_CLASS : Concurrency
P1TEXT : handle address ▲
P1 : 1206060532 ▲
P1RAW : 47E305F4 ▲
P2TEXT : lock address ▲
P2 : 1108075084 ▲
P2RAW : 420BE24C ▲
P3TEXT : 100*mode+namespace ▲
P3 : 301 ▲
P3RAW : 0000012D ▲
WAIT_IN_SECONDS : 178874
BLOCKING_SESSION : <-- NONE
There is no blocking session in v$lock.
Could you teach me how to interprete P* value of v$session in case of "library cache lock"??
Thanks and Regards.Dear user449027.
Thanks for your reply.
column wevent format a20
column bevent format a20
select
waiter.sid waiter,
waiter.p1raw wlockp1,
waiter.event wevent,
blocker_event.sid blocker,
blocker_event.event bevent
from
x$kglpn p,
gv$session blocker_session,
gv$session_wait waiter,
gv$session_wait blocker_event
where
p.kglpnuse=blocker_session.saddr and
p.kglpnhdl=waiter.p1raw and
(waiter.event like 'library cache lock' ) and
blocker_event.sid=blocker_session.sid
order by
waiter.p1raw,waiter.sid
returns NO rows.
The database is 2 Node RAC db.
Do both instances share "x$kglpn"??
On Node2, sid=444 session is waiting for library cache lock.
I issued the following script.
select kglnaobj, kgllkreq
from x$kgllk x , v$session s
where s.saddr = x.kgllkses
and x.kgllkhdl=s.p1raw
and s.sid = 444;
KGLNAOBJ KGLLKREQ
MGMT_JOB_EXEC_SUMMARY 2
The owner of MGMT_JOB_EXEC_SUMMARY is sysman.
And MGMT_JOB_EXEC_SUMMARY is valid.
I issued "DESC MGMT_JOB_EXEC_SUMMARY".
"DESC MGMT_JOB_EXEC_SUMMARY" hangs.
The sid=444 session is waiting for almost 2 days.
I stopped dbconsole and emagent.
Thanks and Regards. -
How can I register a Event for TAB???
Hi,
my problem is, that i search for an solution to register an Event for Tabulator (Tab Key).
If i klick to tab, than it must be trigger the event!!
I have found in forum following:
http://webcache.googleusercontent.com/search?q=cache:fk2pfn0bhiwj:www.sdn.sap.com/irj/scn/thread%3fmessageid%3d1078796eventtabulatoralvgrid&cd=50&hl=de&ct=clnk&gl=de
How must I register my TAB Event ????
Please give an example!
Thanks in forwards.
ErsinThanks for Help:-)
-
When previewing images by clicking on the thumbnail in an Event for example, I've been finding that many images preview in a 'zoomed in' way so only a small part of the photos is previewed in a highly magnified view.
Initially I could find no cause. Then I tried right click - Edit and on the affected images, always get this warning:
"Image Cannot Be Edited - This photo was previously edited with another application or with an early version of Iphoto. Duplicate this photo to edit it." and a "Duplicate To Edit" Button is displayed.
The external Editor defined for iPhoto is Adobe Photoshop Elements.
Now, I reckon the MUST be others out there affected by this same apparent Preview bug, yet my searches have not revealed any answers. Also seems impossible to find a contact number for adobe???
ThanksStart '''[https://support.mozilla.org/en-US/kb/troubleshoot-firefox-issues-using-safe-mode Firefox in Safe Mode]''' {web Link} by holding down the '''<Shift ''(Mac Options)'' >''' key, and then starting Firefox. Is the problem still there?
Maybe you are looking for
-
Why Can't I run Acrobat 9.0 Pro in 64 bit Windows 7?
Earlier today I was limping along with 9.0 Pro in windows 7. Then it stopped working. Although the document would scan, there were no characters on the page when the scan was complete.
-
Hi SAP MM gurus, I am trying to change the base unit of measure of the part and got error says that PR,PO Sale order exists. Third party order already created. I have deleted purchase requisition and Purchase order. When I try to delete the third par
-
This popup says that Adobe Services are not available at this time, try again later. I've tried later, and later, and later..... Anyone know what's up with this? I can sign into my account from this sight just fine...
-
what's the last version of IOS I can download on my iphone 3gs? (it is factory unlocked)
-
HR interfaces....
Hi flocks, Any one can tell how to do HR to FI interface . I am new to FI module.it little bit urgent. helpful answer give the reward points. Regards. Krishna