UIX/BC4J: Update/Caching problem?

Dear all,
we are using UIX with BC4J to build a web application that models sort of a workflow. We factored the application into multiple application modules nested in one root module. We have two VOs (VO1 and VO2) that are both based on the same EO. Both VOs live in different application modules (AM1 and AM2). One UIX page adds rows to the EO through VO1 (using Java to handle the UIX event), another UIX page displays the new rows through VO2 (using bc4j:table).
Now during testing I encounter the following problem: After I add rows in VO1 and do AM1.getTransaction().commit(), I don't see any changes in VO2. As a workaround, I do VO2.executeQuery() immediately after the commit, but shouldn't the changes be automatically propagated if the VOs are based on the same EO?
Is there a way to notify changes across user/session borders, e.g. if user A updates VO1, user B immediately sees the changes in VO2?
Many thanks for any help!
Markus.

I think the behaviour you describe is normal and there are reasons for it: see a section entitled "How Does the Business Logic Tier Cache Data?" in the help. (In particular, the "Multiple view object instances and update, delete and insert behaviour" near the bottom.)
Basically, because BC4J doesn't have an arbitrary-SQL evaluator it can't generally tell whether an entity belongs in a different view or not.
I recall having read in these forums before (Sung Im, I think) that you're allowed to add a row to more than one view (and that only one entity will be created) but I think the views have to be of exactly the same format.
HTH
Mike.

Similar Messages

  • Bridge update does not fix caching problems.

    Dear Adobe,
    The 5.0.1.23 update for Bridge CS6 does NOT fix the problem of constantly re-caching layered TIF files.
    I originaly reported the problem here on May 16, 2012.
    http://forums.adobe.com/thread/1007560
    At that time I also submitted a bug report via photoshop.com, and received an e-mail response from Adobe support confirming the problem had been replicated in their lab and promising a fix in the next update.
    I've since tracked several other reports of this bug and related cache problems.
    I assume that, at best, we will have to wait another 6 months or more for the next update. How can I assure this bug will be addressed?

    redcrown on guard wrote:
    The 5.0.1.23 update for Bridge CS6 does NOT fix the problem of constantly re-caching layered TIF files.
    At that time I also submitted a bug report via photoshop.com, and received an e-mail response from Adobe support confirming the problem had been replicated in their lab and promising a fix in the next update.
    Thank you for this bit of information. Maybe it means I can stop the deactivations/uninstall/reinstall/reactivate cycle to try yet another solution. And hopefully, this will stop the re-caching problem with other than tif files.
    regards
    *S*

  • UIX BC4J Problem with primary key

    Hello
    I use Business Components (Entity and Views) and the backend is a postgresql; it works with BC4J-JSP perfectly;
    i switched to use uix; but have strange problem:
    I have defined in the entity a create-Method to set the primary key of the current row to a defined value. If i test
    it in the component browser it works all; but when i switch to my application, i receive allways a "1" in the rendered field which should have the current primary key.
    Just to see if it works with Oracle right i tested also against Oracle 8.1.7! It works as it should.
    Has anybody an idea how i can solve the problem.

    Marcel,
    I cannot reproduce this in version 10.1.2.2. We did not "fix" this, although changes in the runtime might have fixed this "silently". I suggest you upgrade to 10.1.2.2 and see whether you still get the error.
    Steven Davelaar,
    JHeadstart Team.

  • UIX BC4J Java

    How could I transfer the information from UIX site in my Java class and work it on.
    My Scenario:
    Each employee works in a departmebt.
    Now I want to change the department of a employee.
    I show all departments,that I have and I select the current one,
    I would like to select another department and display it by my employee.
    I call method of my class TestSel in UIX in handlers::
    <event name="find" >
    <bc4j:findRootAppModule name="ViewAppModule" >
    <bc4j:findViewObject name="View" >
    <ctrl:method class="bo.TestSel" method="doSel"/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    package bo;
    import...
    public class TestSel {   
    public static EventResult doSel(BajaContext bc, Page page, PageEvent event){   
    ViewObject res = (ViewObject)bc.getProperty("http://xmlns.oracle.com/uix/bc4j", "viewObject");
    Row cur=res.getCurrentRow();
    //Not the selected position, but the last of the site (in range)
    System.out.println("cur"+cur.getAttribute("Id1").toString()) ;
    System.out.println("cur"+cur.getAttribute("FmlyNam").toString()) ;
    if (res.getEstimatedRowCount() != 0)
    RowSetIterator secondRSI = res.createRowSetIterator("secondRSI");
    if (secondRSI.hasNext())
    Row firstRow = secondRSI.first(); //the first row
    System.out.println(firstRow.getAttribute("Id1").toString()) ;
    System.out.println(firstRow.getAttribute("FmlyNam").toString()) ;
    secondRSI.closeRowSetIterator();
    How could I get selected data record here?
    How could I change a value of attributes and apply it in UIX ?
    Help me please!!!
    Inna.

    Would it be easier to use a custom method on the bc4j Application module?
    Take this scenario...
    1. User opens UIX XML web page which opens a bc4j App Module..it has a VO based on all employees.
    2. User presses the add button and a new employee is created (using the bc4j App Module).
    (Notice: no commit yet!)
    3. User presses the submit button...fires event REVIEW_SALARY.
    4. This event is 'handled' in the event section of the UML XML...it calls:-
    public static EventResult handleREVIEW_SALARYEvent (BajaContext context, Page page, PageEvent event)...
    5. I now want to call a java class I wrote that computes an employees new salary and updates the employee record with this new salary. This update will fail unless it is part of the same transaction as the one used by the bc4j App Module (that inserted the new employee).
    How best to proceed from here?
    How about having a method on the bc4j App Mod's VO called 'reviewSalary'? Calling this would use the same transaction? I could then call my java class from within the VO's method? However do I still have the same problem in that my java class expects to be passed the connection object?
    The approach you suggested previously seems a touch dangerous....in that these are not 'publically exposed'...and a new release of JDev may break my code.
    Thanks,
    Paul.

  • I am facing a caching problem in the Web-Application that I've developed us

    Dear Friends,
    I am facing a caching problem in the Web-Application that I've developed using Java/JSP/Servlet.
    Problem Description: In this application when a hyperlink is clicked it is supposed to go the Handling Servlet and then servlet will fetch the data (using DAO layer) and will store in the session. After this the servlet will forward the request to the view JSP to present the data. The JSP access the object stored in the session and displays the data.
    However, when the link is clicked second time then the request is not received by our servlet and the cached(prev data) page is shown. If we refresh the page then request come to the servlet and we get correct data. But as you will also agree that we don't want the users to refresh the page again and again to get the updated data.
    We've included these lines in JSPs also but it does no good:
    <%
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control" ,"no-cache, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control","no-store");
    %>
    Request you to please give a solution for the same.
    Thanks & Regards,
    Mohan

    However, when the link is clicked second time then the request is not received by our servlet Impossible mate.. can you show your code. You sure there are no javascript errors ?
    Why dont you just remove your object from the session after displaying the data from it and see if your page "automatically" hits the servlet when the link is clicked.
    cheers..
    S

  • Re: Update Cache Objects in Delta Process Dosn't work

    Hi All,
    Re: Update Cache Objects in Delta Process doesn't work.
    BI 7 - SP 17
    This is the scenario I am working on, am running a bex query on a Cube(via a multi) with bunch aggregates.
    The daily extraction & Aggregate rollup is correct, but when I run a Bex Query it display incorrect keyfigure values as compared to what we see in LISTCUBE for the infocube.
    So when I ran the same query in RSRT with "Do not use Cache", it gave correct results and then when I ran the Bex Query again it fixed itself and it displayed correctly.
    InfoCube - standard & No compression for requests
    Query Properties are
    Read Mode - H
    Req Status  - 1
    Cache - Main Memory Cache Without swaping
    Update Cache Objects in Delta Process (Flag selected)
    SP grouping - 1
    This problem occurs once in couple of weeks and my question is there a permanant fix for it??
    OR should we turn the cache off??
    Can anyone please help.
    Thanking You.
    Rao

    Hi Kevin/Rao,
    We are currently experiencing problems with the 'Update Cache Objects in Delta' process.  Did either of you manage to resolve your issues, and if so, how?

  • Uix BC4J: create a link download to download my resultsets

    Greetings,
    The case:
    - i've created my flows using the amazing uix bc4j technology;
    - end users can manipulate their data (view and update)
    - Now i'd like to create a link which will point over the query result and download the data with csv or xls format.
    Could anyone help me on that issue ? 've checked in online doc, did not find a valuable info.
    Thks for your help
    Cheers
    lb

    Hm - good point, Riley. Hadn't tried Go to URL, though I realise now this is simply because I forgot to ignore the dire warnings about "not a FrameMaker file" :-}
    However, now I have made the experiment:
    * opening the .pdf directly in Acrobat and clicking on the link opens the .zip application immediately - still no "download/open" option
    * opening the .pdf through a browser puzzlingly netts me "The file ///C:/tempo/mup55lin.tgz cannot be found. Please check the location and try again." Needless to say, the file in question is right there where it should be ...

  • UIX-BC4J Form Example

    Could anybody post an example of a simple UIX-BC4J Form with Insert, Update and Delete event handlers but NOT in automatic mode?
    TIA.
    Francisco

    I still consider myself a beginner in UIX/BC4J, but I presented a paper at June's ODTUG conference that included an example. Try www.odtug.com, look at the 2002 handouts, under JDeveloper. You should be able to download the Powerpoint. If you're interested, e-mail me and I'll send you the actual paper (as a Word document). Or just buy the conference proceedings from ODTUG. They papers should also be up soon in the "Members Only" section of the ODTUG site.
    -- jim

  • "updating cache directory" runs forever in Mac Mail plus other ills

    Running 10.9.2 on MacMini with 16 gb ram.  Mail version 7.2.  Using SpamSieve
    Using my IMAP account...which has 3450 messages in the combined five folders for five different mail accounts.   The folder having the problems below that are folder specific has 2000 messages in it.
    Activity shows "Updating cache directory"  "evaluating message x out of 256"  Oddly, the number is usually 256.  It runs through 256 and then starts over again, on and on.  It eventually stops.
    It also has great difficulty deleting mail.  I delete it using Erase Deleted Items. Deleted mail is delivered again and again when the app goes to the server.  Often it is Spam that I have deleted after SpamSieve put it in the Spam folder (which is "On my Mac").
    I often have the "Can't move mail to x folder".  When I rebuild, it fixes that, but the problem comes back in a day or so.
    The appd fails to pickup all the mail unless I Take All Accounts Offline and then go back online.  Even then, it finds more mail if I Quit mail and then immediately restart it. And sometimes when I do that it brings back mail that I recently deleted.
    If I use Show Deleted Messages, after I delete, the headers still show up in the Inbox, but themessages are unavailable (which is to be expected).
    I have deleted the preference folder in Mail library before and it simply redownloaded everything, but didn't change its behavior.
    Wisdom would be appreciated in how to fix these issues.
    Thank you, in advance.

    I finally had to get FuseMail to "reset the IMAP flags" on their end and everything seemed to resolve itself.

  • Qaaws not refreshing query triggered from Xcelsius, maybe a cache problem

    Hi,
    I'm having a problem with QAAWS and Xcelsius
    I'm using a List Builder component to select multiple values in this case STATES from the efashion universe
    I use the selected states as values to feed a prompt in a QAAWS query, the qwaas query has  the SALES REVENUE as the resultset and in the conditions it has a multi prompt for STATES
    When I preview my dashboard, I select the States, then UPDATE the values and then refresh the query with a CONNECTION REFRESH button, The first time I do this it works fine and returns the Sales revenue.
    If I add a new State to my selection and then run update and run run again the query with the refresh button, it doesn't work any more and it shows again the value retrieved from the first query
    First I thought that the query wasn't triggered by Xcelsius, but by doing some more tests I found that actually the query runs but it returns the value from the first query
    I think this is a cache problem , so is there a way to tell QAAWS to always run the query and not use the cache?
    thanks,
    Alejandro

    Hello Alejandro,
    QaaWS indeed uses a cache mechanism to speed up some Xcelsius interactions (from XI 3.0 onwards), but your issue should not be induced by this, as cache sessions are discriminated according to session user id & prompt values, so if you are correctly passing prompt values, QaaWS should not serve you with the previous values by error.
    Could you specify how you are passing several prompt values to the QaaWS? There might be an issue there, so make sure that:
    1. QaaWS query prompt is set using In List operator, otherwise only first value will actually be taken into account,
    2. In Xcelsius Designer Data Manager, web service input paremeters are duplicated to accept several input values (you cannot submit you list of prompt values as a list to a single input parameter).
    If this still does not work, I'd suggest you debug your dashboard runtime using an HTTP sniffer like Fiddler (available from http://www.fiddler2.com/) which enable you to inspect the sent & recieved HTTP messages with the server, where you should verify which prompt values are sent to the QaaWS servlet.
    FYI, you can set the QaaWS cache lifetime for each query, by going into QaaWS edition first wizard screen, click Advanced... button and change value for timeout parameter (default is 60 seconds)
    Hope that helps,
    David.

  • Ghost Clip? RAM or Cache Problem?

    Here it is. ghost.psd is the source file
    Whta the hell is that? Where this clip come from? this is driving me crazy. always happens AE CS5(only CS5)
    I didn't change anything. ghost.psd just appeared from somewhere. there is no clip there.
    RAM problem? Cache Problem?
    I already formated PC a few times. And re-install CS5 many times. all kind of updates applied.
    please, help me.

    Wow. Thanks anyway. I can't apply it right now. So I will do that when I come back home.
    And let's you know the result.
    Thank you one more~

  • No Contents in Software Update Cache File Using 10.4.11

    When running Software Update in 10.4.9, a "Software Update" cache file would be created in User-Library-Caches. The file would collect and retain cache data until cleared. Using 10.4.11, the cache file is created but there are no actual contents i.e. Zero KB. Has anyone else noticed this or do I have a unique problem? And if I do, can it be fixed? Of course this is not a big problem and everything else is working fine. I just wanted to understand the change if I could. Thanks for any help.

    Regular Guy wrote:
    It just seems strange that Software Update would create cache folders and leave them empty. In my case this started with 10.4.11.
    Unfortunately, I never gave it any thought, and just assumed the software updates were being deleted after they were installed. So I never looked in those folders to see and don't have anything to compare it to.
    I thought that the actual payload of the software updates went into the /var/tmp directory, since I once had a problem with a software update and part of the fix involved messing about in that directory. But that was a long time ago, with 10.3 or earlier. If they do go into /var/tmp then I'm sure they'd be deleted at the next reboot.
    But you are right, it is a bit odd to put empty folders in that cache folder. Or, if they aren't empty to start with, to have them be emptied, but not delete the folders themselves...
    charlie

  • Updated cache-config.dtd

    Hi,
    Could you post an updated cache-config.dtd file ?
    I am having problems validating a cache config with the element distributed-scheme/local-storage.
    Thanks in advance,
    Luis

    Hi Luis,
    This has been fixed and will be in the next 3.0 pre-release. In the meantime, here is the corrected cache-config.dtd.
    Jon Purdy
    Tangosol, Inc.<br><br> <b> Attachment: </b><br>cache-config.dtd <br> (*To use this attachment you will need to rename 116.bin to cache-config.dtd after the download is complete.)

  • Mail stuck with "updating cache directory"

    I've been getting bit by Mail getting stuck with "updating cache directory" on just one of my three IMAP accounts (separate providers). Gmail and MobileMe are fine, it is just with FuseMail which uses Microsoft Exchange servers. I have finally found something that may point to the problem:
    http://www.theexchangeguide.info/exchange-server-clients/2011/28/apples-mail-app -with-exchange-2007-via-imap-or-owa.html
    Folks,
    Azaleos has now spent 6 months working with Microsoft on this issue.
    The diagnosis appears to be that significant changes were made to the IMAP protocol implementation in Exchange 2007 that significantly deteriorates the performance of MAC Mail.App clients, especially client with large mailboxes, against Exchange 2007 vs. Exchange 2003.
    Although the Microsoft support team’s response has been absolutely exemplary, we have been unable to make the Exchange development team understand the significance of this takeback from Exchange 2003, nor been able to have them implement fixes in the Exchange 2007 stack to address the issue.
    More significantly, we have also received absolutely no response from Apple regarding the deficiencies of the MAC Mail.App client, nor even any acknowledgement of the problem. In fact, from the complete lack of response we’ve received, Apple has an absolutely abysmal Enterprise support capability and far worse than anything we’ve experienced from Microsoft.
    At this time, Azaleos does not recommend that customers who have significant MAC Mail.App implementations with sizeable mailboxes (in excess of 500MB mailboxes) upgrade from Exchange 2003 to Exchange 2007.
    We are recommending to customers that they do upgrade to Exchange 2007. But, that any users of MAC Mail.App move immediately to Entourage or to an e-mail client that implements a solution that is less than 10 years out of date.
    Thanks,
    Keith McCall
    CTO, Azaleos Corporation
    I'm posting this both as a reference for others and as a question to see if there is a way to resolve this as a customer, other than dumping FuseMail for a non-Microsoft house?
    Thanks!
    Chip

    I finally had to get FuseMail to "reset the IMAP flags" on their end and everything seemed to resolve itself.

  • Cache problem when loading modules ?

    Hello Flex friends !
    I am currently experiencing a strange problem. It happens in
    my production environment when using my web browser to access the
    application. Here it is :
    The main application is a menu on the left and a ModuleLoader
    in the center. Regarding the menu's button I click, the
    ModuleLoader will load either ModuleA, ModuleB, etc ... nothing's
    special until then, everything works fine.
    Then I update the ModuleA.swf and Module.swf files. Now when
    I click the menu's button I get the old ModuleA and ModuleB.
    This seems to be a cache problem, no ? I thought the browser
    was going to compare the local ModuleA version and the server
    ModuleA version and then load the server ModuleA version, but it
    does not seem to work this way. So How does it work ? I'd like to
    understand.
    Thanks for your help guys !
    Olivier

    Hi,
    Try this.
    Step 1:  Goto Details, Status get the IDoc number,and go to BD87 in R/3,place the cursor in the RED IDoc entroes in tRFC
    queue thats under outbound processing and click on display the IDOC which is on the menu bar.
    Step 2: In the next screen click on Display tRFC calls (will take you to SM58 particular TRFC call)
    place the cursor on the particular Transaction ID and go to EDIT in the menu bar --> press 'Execute LUW'
    (Display tRFC calls (will take you to SM58 particular TRFC call) ---> select the TrasnID ---> EDIT ---> Execute LUW)
    Rather than going to SM58 and executing LUW directly it is safer to go through BD87 giving the IDOC name as it will take you
    to the particular TRFC request for that Idoc.
    OR
    Directly go to SM58 > Give * / user name or background  (Aleremote) user name and execute. It will show TRFCs to be executed
    for that user. Find the particular TRFC (SM37 > Req name > TID from data packet with sysfail).select the TrasnID (SM58) --->
    EDIT ---> Execute LUW
    Thanks,
    JituK

Maybe you are looking for

  • Did you know... (about dictionary of this forum)

    Did you know, that default spell checker (when writing a message on forum) does not recognize words like: Microsystems, JavaBean, NetBeans, JDK, SDK, EE (used frequently on J2EE forum), Servlet, JSP, EJB, but knows words like SE (for J2SE) and Micros

  • How do I restore tab behavior back to the way it was in FF 3.5??

    I just upgraded to FF 3.6.13, I generally wait to upgrade until any new bugs have been identified and corrected. In FF 3.5, when I opened a new tab from a link, the new tab appeared to the right of the current tab (NOT at the very end of the tab bar)

  • No Registry records of ID in Windows 7 (64bit) after installation

    i moved my problem from another discussion into this new one... i don't know if it is normal, but i have just installed ID and PS from my CS5 pack, restarted the computer and checked Windows Registry (through "regedit" in command line) if there are s

  • How to find the API name from the Integrator

    I am looking in a WebADI build solution. 1) I need to find the API name, which is used by the Custom integrator to validate and insert the data into custom table. Can we find the source where WebADI integrator stores the API name. Please help me out

  • Getting Photos from Computer to Iphone

    I am using the Kodak Gallery on my Mac Book for managing my pictures instead of I Photo. I know how to sync pictures in Itunes to the IPhone, BUT it only lists options to sync entire folder (for ex.. 2500 pictures. ) What if I only want to sync sever