1

Problem: The below problem occurs in two different cases..

Case1: When a client makes a remoteObject request ie to save some Info... A call is made to Java SAVE_INFO method. If request failed ie came back to FaultHandler ( we save the info in an arrayCollection). Later we call SAVE_INFO again for each item in arrayCollection ie( if arrayCollection has 10 items.. We call 10 times the same method.. I know that's kind of stupid but we have no control over java to write a overloading method). Some times we see there are multiple records of same info in DB. I am not sure if this happens when looping over arraycollection and making calls or during normal one time call. We could not find a pattern to reproduce. Java LOG level is at Error level in production. can't set to INFO in production to monitor all calls. We dont know if this multiple times saved record is, the one in arrayCollection or normal one.

Flex3 RemoteObject --> WAS 6.1 , lCDS 3.0, Java1.5 --> Webservice -- > Java (hibernate) --> Oracle 10g

Case2: When application is left open and user leaves for the day and submits info the following morning, we see duplicate records in DB of that info. (No arrayCollection here. Simple straight one call)

Flex3 RemoteObject --> OC4J Blazeds Java1.5 (JDBC) --> Oracle 10g.

Recently one of our Testers testing case 2 application found this pattern and I am starting to think that may be in the case 1 also.. users might be leaving for lunch/break and resubmitted the arrayCollection after coming back. During lunch java might have killed the sessions for the client and after resubmitting 10 at same time.. java may have created 10 duplicates session... Again what I am assuming could be completely wrong.

I don't know if flex remoteObject amf batching calls is causing an error or Java session duplicates is causing an error or oracle is doing it. I have no clue or idea where the issue could be.

Help please ???

user418836
  • 847
  • 3
  • 8
  • 19

1 Answers1

0

I think you are correct in assuming that the connection is dead, but it may or may not be due to your collection having duplicates. A quick test is to re-write the arrayCollection code to not allow duplicates and see if that fixes it.

Strangely enough, this may be a problem with multiple sessions from the same client, where multiple connections are being made to the service. This is generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly in Blaze.

If this is the case you will need to write code to limit the number of simultaneous connections created by the client. This could be done in a JSP page for example. To test this you could write some code to store an extra field in a table with the connection count. That way you could see if the duplicate data is coming from the same session.

Hope this helps.

Todd Moses
  • 10,969
  • 10
  • 47
  • 65