Session bean calling read-only entiti bean
I have a session bean that is calling a read-only entity bean. I gets the remote
reference to the bean ok but when I call a method on the entity bean it locks.
After 5 minutes the call executes but then the session bean times out. Is there
any special setting I need to do this? I set both transaction attributes to Required.
Thanks,
Tim
5.1
Seth White <[email protected]> wrote:
>
Hi.
What release are you using?
Seth
Tim wrote:
I have a session bean that is calling a read-only entity bean. I getsthe remote
reference to the bean ok but when I call a method on the entity beanit locks.
After 5 minutes the call executes but then the session bean timesout. Is there
any special setting I need to do this? I set both transaction attributesto Required.
Thanks,
Tim
Similar Messages
-
Is there any way we can update an entity if its maintenance object only allows read only option.
I tried updating the status of deposit control using an algorithm but it gave an error like "Illegal attempt to modify read only entity".
Can I update the status of deposit control through algorithm in hibernate?
Thanks in advance.My Experience is different. As far as I am aware you can use a Business Service to do the update. The two that I have done are the To Do Entry and the WF Process.
I am assuming your situation is that the Maintenance Object has the Option "B/O Maintenance Y/N" set to "N" and this is the reason you cannot update using a BO.
Here are the steps to do it with a Business Service using the WF Process as an example where we want to add a WF Characteristic.
1. Create a Business Service based on the Page Maintenance. Program
For the schema, what I do is create the schema for the BO and then copy it to the Business Service Schema. You will have to change the mapChild to mapList and change the mapChild table name (e.g. CI_WF_PROC_CHAR) to the list name in the Business Service (e.g. WF_PROC_CHAR). Have a look at the page service in the application viewer to get your names for the lists etc.
2. To be able to update the data in the business service you need to change the schema element to
<schema pageAction="update">
3. for my purposes I wanted to add a characteristic so my schema looks like this.
<schema pageAction="update">
<workflowProcessId mapField="WF_PROC_ID"/>
<workFlowProcessCharacteristic type="list" mapList="WF_PROC_CHAR">
<characteristicType mapField="CHAR_TYPE_CD"/>
<version mapField="VERSION"/>
<sequence mapField="SEQ_NUM"/>
<characteristicValue mapField="CHAR_VAL"/>
<adhocCharacteristicValue mapField="ADHOC_CHAR_VAL"/>
<characteristicValueForeignKey1 mapField="CHAR_VAL_FK1"/>
<characteristicValueFK2 mapField="CHAR_VAL_FK2"/>
<characteristicValueFK3 mapField="CHAR_VAL_FK3"/>
<characteristicValueFk4 mapField="CHAR_VAL_FK4"/>
<characteristicValueFK5 mapField="CHAR_VAL_FK5"/>
<searchCharacteristicValue mapField="SRCH_CHAR_VAL"/>
</workFlowProcessCharacteristic>
</schema>
4. Now create your inbound service based on the Business Service.
I like to make the transactionType in the xai inbound service to Read by default and then override it when I need to .
5. Now for the xml to add my characteristic.
<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">
<SOAP-ENV:Header>
<SOAPActionVersion>2.0.0</SOAPActionVersion></SOAP-ENV:Header>
<SOAP-ENV:Body >
<cmWorkflowProcessCharacteristic>
<workflowProcessId>5246086031</workflowProcessId>
<workFlowProcessCharacteristic>
<characteristicType>FILENAME</characteristicType>
<adhocCharacteristicValue>/CSVFiles/SMOMeterReads/SMOMeterReads.EN0010--20011217T093047.0Z-_.csv</adhocCharacteristicValue>
</workFlowProcessCharacteristic>
</cmWorkflowProcessCharacteristic>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
NOTES:
Some one from Oracle Product might to clarify a few of the following points but this is my observations.
There are 3 settings that you will read about, transactionType, rowAction and pageAction.
1. The pageAction is for Business Services based on Page Services (e.g. CILWPROP)
2. You may be tempted to try and updated the characteristics with a List service (e.g. CILWPCHL)
This has to be specified as transactionType of LIST and as far as I am aware you cannot update using a LIST service.
The XAI Best Practises document indicates you can use the rowAction flag to accomplish updates but I think that what it is really saying is that you can only update using a LIST service if it is contained in a wrapper service like a Page Service at which time you can set the transactionType or pageAction to update etic and then the rowAction will take affect.
I have found no List services in any of the training material or the demo database that provides functionality to update via a list service.
3. I have tried overriding a business service by using transactionType but to no avail and so I have resorted to adding the
<schema pageAction="update">
4. I have seen a comment on the forum that you can pass in the pageAction into the XAI transaction but I would like to see this in action before I say you can do it.
5. It may be that the transactionType override is only effective in BO. I have used it CC&B v1.5 platform and using BO in v2
As you can see you have raised an interesting topic and this area is changing in CC&B from v1.5 to FW V2 to FW v4.
If you have any further observations feel free to correct me where necessary.
Hope this helps. -
Create and remove on read-only beans
while playing around with read-only beans i found that calling create()
ond read-only homes and remove on read only entities does work, which
was new to me. 'work' just means changing the database ;)
ist there any danger in using this (maybe just an internal feature which
does not work in 7.0, ...) ?
axel.You should definitely check out 7.0 and its support for optimistic caching. It
does what you want.
-- Rob
Axel Großmann wrote:
thanks for the quick response.
Rob Woollen wrote:
ist there any danger in using this (maybe just an internal feature which
does not work in 7.0, ...) ?
No, it'll work fine. Until 7.0, read-only beans always ran in an
unspecified transaction. In 7.0, this has been relaxed to allow you to use
all the tx attributes with read-only beans.sounds great; seems that we should give 7.0 beta a try.
what comes to my mind is: if read-only beans would also write changes to
their CMP fields to the database (and send invalidation message) we
would have some kind of write-through-caching bean, wouldnt we ?
this is actually what I'm searching for, since we have to port an
application to weblogic with was designed using one bean per business
object - mapping this to the two-bean read-mostly pattern without
changing the present logic seems impossible without many changes and
loosing the ability to run on other application servers too.
so why not a 'read-mostly-bean' instead of manually implementing it ?
axel.--
AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnWebLogic.com
[att1.html] -
Toad read only sessions open a transaction in DB?
Hi,
When I check v$transaction, I see all TOAD and sqldeveloper sessions which are read only accounts. If I use the same user in sqlplus it won't appear in v$transaction. I am puzzled why these tools create a transaction for even select queries. How can i avoid these tools creating transaction(may be they are running begin trasaction for each session causing a transaction).
Thanks
AnandSAP IMG -> Cross Application Components -> Master Data Synchronization  Synchronization Control -> Synchronization Control -> Activate Synchronization options
This setting allows you to activate synchronization of BP with R/3. Not maintaining the values may result in certain fields being read-only in BP.
Suggested Values:
Source Object: BP | Target Object: CUSTOMER | Active Indicator : X
Source Object: BP | Target Object: VENDOR | Active Indicator : X
Source Object: CUSTOMER | Target Object: BP | Active Indicator : X
Source Object: VENDOR | Target Object: BP | Active Indicator : X
Have you set all of the above settings??
BHARATH -
Hi All,
Although the systems in question run Solaris 8, I am asking in this Solaris 10 forum because the way to implement what I am trying to do will most likely be the same on Solaris 8 as Solaris 10 (basic user, group, and permissions related functions have not changed much). There are also alot more posts and answers in this forum so I'm likely to receive a response more quickly.
My question is: I have been asked to create a "read-only" account for IBM to support some of the applications on a couple of our systems (app support has recently been outsourced to them). I don't really understand why they would be needing a "read-only" account as they wouldn't be able to do anything to resolve problems or install new versions etc., but anyway the question is there and they seem to be insisting on creating such an account. So what is involved with creating a so called "read-only" account? I have never been asked to create one of these before and I've been working with UNIX for quite some time.
I know one could do something like create a very basic user who is only a member of a new group I would create called e.g. "readonly" and then use things like "chmod" to set permissions so that all files on the system have no write or execute permissions for "other" users (e.g. -rwxrwxr--), or I can use restricted shell (e.g. rksh, rbash) etc. However, setting all files globally to no write and execute permissions for "other" can and probably would cause all sorts of problems, and I already gave them a restricted shell but this was not suitable for them as they are unable to change directory or browse other parts of the filesystem they need to check.
Please let me know how I can create one of these so-called "read-only" accounts.
Thanks in advance.
Regards,
David.
Commonwealth Bank
David Stofberg
UNIX Systems Administrator
Enterprise IT Operations
Level 9, 363 George Street
Sydney NSW 2000
P: +61 (2) 9303-2898
M: +61 (434) 220-893
E: [email protected]
Our vision is to be Australia's finest financial services organisation through excelling in customer service.most normal users dont have the ability to write to most critical areas of the system by default. if you need more restrictions, deploy RBAC. you can create custom rights profile to limit what a certain role can do.
[http://docs.sun.com/app/docs/doc/816-4557/prbactm-1?a=view] solaris 10
[http://docs.sun.com/app/docs/doc/805-7229/6j6q8svdf?l=en&a=view] solaris 8 (update 10/01) -
IFolder shared read only folder issue
I have a 3.8.4 ifolder that I shared with another user but only gave him read only rights to it. He can still go in and edit any file I put in there and save cha ges to the file. The changes will not sync back to my folder but we now have the same doc with different ainformatin in it. That is not what I call read only!Has anyone else seen this behavior?Dan
Dchunt,
It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.
Has your problem been resolved? If not, you might try one of the following options:
- Visit http://support.novell.com and search the knowledgebase and/or check all
the other self support options and support programs available.
- You could also try posting your message again. Make sure it is posted in the
correct newsgroup. (http://forums.novell.com)
Be sure to read the forum FAQ about what to expect in the way of responses:
http://forums.novell.com/faq.php
If this is a reply to a duplicate posting, please ignore and accept our apologies
and rest assured we will issue a stern reprimand to our posting bot.
Good luck!
Your Novell Product Support Forums Team
http://forums.novell.com/ -
Read-only system - how to get back to normal ?
Two days ago, while I was trying to transfer data to an external hard-disk, my 12" iBook G4 suddenly turned down with no particular reason, and I cannot start it properly any longer.
As I have absolutely no technical knowledge, I have no clue what to do, and I hope I can get some valuable advice on this Forum.
I need this iBook - and most of all I do urgently need some data it contains -
but I am at the moment in Cambodia - where I could not find any Apple dealer up to now, except for iPod (probably not always original ones), which doesn't exactly make things easier...
This is what happens when I try to start the iBook:
at the begining, everything seems quite normal...Apple logo shows up, then this rotating thing for a short time...after that the screen turns black, leaving only on the left upper corner in white script the mention :/ root # or :/ root#.
It looks very much like on some computer screens I saw about 20 years ago, maybe with a slightly better quality.
Then there is not very much else to do, except that you can get the mention "Display all 872 possibilities? (y or no)" by pushing the Tab key for about 3 or 4 seconds.
If you agree, you get a list of many things (could be 872), which appear to be mostly function or system checks...all in the same white script on the black screen...some of these checks or things work, some don't...the iBook even gives the reason why some are not working: precisely because they cannot be shown in what is called "read-only system"...now, my problem is that I don't want this read-only system, as it is of absolutely no use to me, and I cannot read any information fom my HD that I need very urgently (and certainly before I go to a country where they have Apple dealers).
I have no idea if this is a common problem, I don't even know how serious it is.
The only thing I know for sure is that the iBook obviously is still living at the moment, but it is not working the way I need it to work.
I tried to restart it numerous times, including by using the Install disk, but nothing helps...maybe the problem there is that the iBook is not understanding I want it to use the Install CD as the starting disk, but I don't know how I can make me understood as long as the screen only shows this white script...
Anyway, I have no clue what to do, and I am hoping I can get some good advice on how to act before going to some PC dealer (it is already annoying enough that I have to use a PC in order to try to find out how to make my Apple product work properly).
Thanks very much for any input.You do have the CDs with the system software, correct?
You don't say what operating system you are running, is it 10.3.x or 10.4.x?
If it is 10.3, then put the #1 CD in the computer, restart it and hold down the C key while it boots up.
When the installer window comes up, click on apple menu and select disk utility.
When that window opens, select your hard drive (rather than the CD) and click on repair hard drive.
When it is finished, quit disk utility and restart the computer. As it is restarting, you can hold down the F12 key to eject the CD. You should be back to normal. If it was a firewire drive you were copying data to, you might have lost the data if you didn't get to eject the disk before you lost access to it.
+You can and should repair the external drive you were copying data to also, although you can do that from the disk utility (in the Utility folder inside the Application folder) while booted from your laptop, in addition to doing it while booted from the #1 installer CD.+
You should continue making the backup of your data as soon as you get access to it, as you could be headed for a very unhappy situation if your hard drive crashes before you back it up. If you haven't lost a hard drive yet, you will. Everyone will at some time in their computing lifetime. Don't let it ruin your life, back it up now! -
How to achieve Entity Bean methods ONLY by calling them from a Session Bean
Hi,
I used a session bean as a business facade to a entity bean.
In the session bean I achieve the entity bean with a jndiContext.lookup("java:comp/env/ejbEntityBean").
Now I am looking for a solution that it is only possible to call the entity bean methods or the whole entity bean from the corresponding session bean.
In other words: "How can I forbid the access to the entity bean, if the calling object is not the corresponding session bean?"
--->
I only found a way the regulate the access to the entity bean methods by declaring a security-role.
But the existence of the security-role at runtime depends on the calling user-authorizations!
Is there a way to set the entity-security-role within the session bean context?
Best Regards
SteffenHi Srikanth Reddy.T,
sorry, I am not looking for a special tag <entity-security-role>.
I am looking for a way to specifiy that my session bean "has" the special security-role (in my case "WebZaehlerEjbRole") of my entity bean "in my case "WebZaehlerEjbRole") that is necessary to call the methods (findAlleEntries, findByWindowId,...) of my entity-bean.
Here is the relevant part of my ejb-jar.ml:
<assembly-descriptor>
<security-role>
<role-name>WebZaehlerEjbRole</role-name>
</security-role>
<method-permission>
<description>method-permission</description>
<role-name>WebZaehlerEjbRole</role-name>
<method>
<ejb-name>WebZaehlerBean</ejb-name>
<method-name>findAllEntries</method-name>
<method-params/>
</method>
<method>
<ejb-name>WebZaehlerBean</ejb-name>
<method-name>findByWindowId</method-name>
<method-params>
<method-param>java.lang.Long</method-param>
</method-params>
</method>
Regards,
Steffen -
Using Session Beans on a read only database
Hi,
i am working on a weblogic 6.1 server and have to access a read only database
using session beans. The transaction attributes of all session beans (we are using
no entity beans) are set to NOT_SUPPORTED but every time a method is accessed
an error message is thrown
BEGIN TRANS in read only database .....
Is there a way to avoid this?
Regards
EdmundI guess it is NotSupported. If not try Never.
--Jay
www.architectslobby.org
An exclusive community for Enterprise Architects -
Calling Session Beans in JSP ?
Hi Folks,
I am new to EJB3, I am doing simple applicatuions.
Can any one please tell me how to call session beans in jsp page.
for example my case is.. iam entering two diffrent data, lets say user name and password in jsp page and this should go in data base thru JPA (entity beans)
Iam able to enter data from JPA in data base but if the same i have to fetch from JSP page.. iam not getting..!
I would really appretiate for your help i need it urgent...!
thanks in advance.abishek1983 wrote:
Hi Folks,
I am new to EJB3, I am doing simple applicatuions.
Can any one please tell me how to call session beans in jsp page.
Not. You can, technically, but you shouldn't. JSP should be for display purposes only, containing no Java code whatsoever.
for example my case is.. iam entering two diffrent data,Wrong. You cannot possibly have "2 data", the very concept is impossible.
You can have "2 data items" which is probably what you intended to say?
lets say user name and password in jsp page and this should go in data base thru JPA (entity beans)
Iam able to enter data from JPA in data base but if the same i have to fetch from JSP page.. iam not getting..!
Same way you insert them. Of course JPA entities are distinctly different from entity beans. The very concept of entity beans no longer exists in the context of JPA, it's solely used to mean EJB 2.1 or earlier entity beans.
I would really appretiate for your help i need it urgent...!
It's not urgent. -
Problem calling a session bean (EJB 3.0)
Hello,
I'm new to netbeans and J2EE. I'm using NetBeans 5.5 Beta 2 and sun application server 9 pe.
I created a new enterprise application and i'm trying to access a Session Bean (Remote and Stateless)
from the app-client (outside the main class).
This is the loockup method that was generated by the IDE (Enterprise Resources > Call enterprise bean):
private ejb.SessionBeanDoenteRemote lookupSessionBeanDoenteBean() {
try {
javax.naming.Context c = new javax.naming.InitialContext();
return (ejb.SessionBeanDoenteRemote) c.lookup("java:comp/env/ejb/SessionBeanDoenteBean");
catch(javax.naming.NamingException ne) {
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
throw new RuntimeException(ne);
When I run the application and try to invoke the lookup method my application gets the following exception:
SEVERE: exception caught
javax.naming.NameNotFoundException: No object bound to name java:comp/env/ejb/Se
ssionBeanDoenteBean
at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.
java:751)
at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.j
ava:156)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:307
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at intensivecare.entrada.JDialogEntrada.lookupSessionBeanDoenteBean(JDia
logEntrada.java:219)
at intensivecare.entrada.JDialogEntrada.buttonMenuGravarActionPerformed(
JDialogEntrada.java:79)
at intensivecare.JDialogWizzard$2.jButtonGravarActionPerformed(JDialogWi
zzard.java:178)
at componentes.JTaskPanelMenu$3.actionPerformed(JTaskPanelMenu.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
49)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2169)
Please... can someone help me?The portable way to acquire the dependency is through java:comp/env or @EJB. Accessing the
global namespace directly is not recommended. If you use an ejb-ref, you need to define it
in the component environment within which you'll be looking up the dependency. So if you're
looking it up from an Application Client, you'll need to define the ejb-ref in application-client.xml.
Also, the ejb-ref-name is the portion of the string after java:comp/env. There is no automatic
"ejb" appended to it. If you do ic.lookup("java:comp/env/foo"), your ejb-ref-name would be "foo".
You can use @EJB but it can only be defined in certain managed classes such as the
Application Client main class.
You can find additional info in our EJB FAQ :
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html
--ken -
I use EJB3, JPA, JSF in my web application. There are 2 database tables: Teacher and Student. A teacher can have many (or none) students and a student can have at most 1 teacher.
I have a JSF page to print the teacher info and all his students' info. I don't want to load the students' info eagerly because there's another JSF page I need to display the teacher info only. So I have a stateful session bean to retrieve the teacher info and all his students' info. The persistence context in that stateful session bean has the type of PersistenceContextType.EXTENDED. The reason I choose a stateful session bean and an extended persistence context is that I want to write something like this without facing the lazy initialization exception:
<h:dataTable value="#{backingBean.teacher.students}" var="student">
<h:outputText value="${student.name}"/>
</h:dataTable>Because my session bean is stateful, I have a method with the @Remove annotation. This method is empty because I don't want to persist anything to the database.
Now, my question is: How can I make the @Remove method of my stateful session bean be called automatically when my JSF page finishes being rendered?Philip Petersen wrote:
I have a few questions concerning the EJB remove method.
1) What is the purpose of calling the remove method on stateless session
bean?There isn't one.
>
2) What action does the container take when this method is called?It checks that you were allowed to call remove (a security check) and then
just returns.
>
3) What happens to the stateless session bean if you do not call the remove
method?Nothing
>
4) Is it a good practice to call the remove method, or should the remove
method be avoided in the case of stateless session beans?
Personally, I never do it.
-- Rob
>
>
Thanks in advance for any insight that you may provide.
Phil--
AVAILABLE NOW!: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnWebLogic.com
[att1.html] -
Calling stored procedure from session bean method
I have a situation like this :
I have one method on a stateless session bean (and I mark this method as container managed transaction). For database related stuff, I am not using entity beans, I am using my own layer of OR mapping. This method does a lot of stuff and it involves many trips to the database, as a result of which the performance is very poor. I have identified certain pieces of functionality from this method which I think can be moved to stored procedures, while some of the functionality can still remain in the session bean method. So my scenario is like this :
session bean method start
store some data in tables(using my OR layer)
call the stored procedure
session bean method end
My question is :
Will the data that I am storing in tables from within the session bean method, be available to the code executing inside stored proc.
secondly, how do I sync the transcation which is being initiated by the container with the transaction under which the stored proc is executing or is it that the stored procedure code will also be executing under the container managed transcation.
Thanks
VimalHi Vimal,
Will the data that I am storing in tables from within
the session bean method, be available to the code
executing inside stored proc.There's only one way to find out (isn't there?)
secondly, how do I sync the transcation which is
being initiated by the container with the transaction
under which the stored proc is executing or is it
that the stored procedure code will also be executing
under the container managed transcation.Again, why not just "suck it and see!"
[Or is there some reason why you can't?]
As I interpret the EJB specification, if the transaction attribute for your session bean method is such that it starts a transaction, then that transaction will be terminated when the method completes -- and every operation that occurs within the framework of that method will be in the one transaction.
In other words, your database stored procedure should execute within the same transaction as your O/R mapping layer.
However, how OC4J behaves may not exactly follow what is written in the (EJB) specification. Hence I repeat, "try it and see for yourself".
Put it this way: as far as I know, the only way that your stored procedure would NOT see the changes made by your O/R mapping layer is if they both executed in separate transactions and the O/R mapping layer did not commit its changes before the stored procedure began its execution.
Hope this has helped.
Good Luck,
Avi. -
Calling IP from a Session Bean
I am looking to put some security on our EJBs based on the callers IP address. I can't seem to figure out how to get the calling IP from within the session bean. Does security need to be enabled to get this information? Is there something that I am missing?
believe the functions that you mentioned are only available within the HttpRequestObject. What I am >>actually looking for is a way to get the IP from within the SessionContext of the Session EJB or simply >>thin any part of the EJB. if you REALLY want to access IP from EJB you have to pass it as parameters to your EJB functions. Request/Response objects are not available from EJBs because you don't want to tie any other architecture(Request/Response based clients) with EJB... EJBs are designed to be accessible from any type of clients(which might not be IP based).
Because of this we are forced to implement our own. Is there a way to enable GROUPS/ROLES without >>having the EJB security enable in WebSphere?YES....you can define your groups and roles using JAAS and then in your application code...you have to to write some code to do checks before calling any Entity Beans. I am not aware of any methods to tie up the JAAS to EJB either in the deployment descriptor or any other method.
Another thing that I want to emphasize is that using IP you might not be able to accomplish what you are doing..because lets say you are assigning some rights to people with a specific IP but if u r using DHCP they might not have the same IP next time..so u will end up in more trouble. :-)
all the best....
sanjay. -
Session management in session bean calling session bean
Hi,
I've got another question on transaction.
I have following stateless session beans :
session1 with trans-attribute Required.
session2 with trans-attribute Required.
session1 calls session2 and session3.
session2 inserts/updates records in the database.
What am doing is first I call a createSchedule method in session2, which
creates a new record in the database.
And then I call an update method on the session2 bean, that will fetch and
update the newly created record.
This second update fails, due to some database constraints.
What I was hoping, that the record should not be created in the database,
but it did.
The first method call in session2 succeeded and the second failed !!
Doesnt both the DML be part of one transaction ?
Thanks
Amit
Solved this one too :
What was happening was, Before I called the create method of the session
bean, I was calling a find method, and I was capturing the exception, and in
case theres an exception, assuming that there is no record in the database,
I create a new record. This find method is in the same session bean,
session2 along with the create and update methods. Inititally when there was
no record, the session bean was raising EJBException, due to which the main
session bean, session1, rollbacks the transaction, it started, but as I was
catching this exception, so the execution continued, .... next statement
being create, and as the transaction attribute of it was Required, and as
the session1 bean's transaction has already been rolled back, there was no
transaction, so the create method started its own transaction, and created
the record, and then the update method too did the same, but it gave an
error, so only update method's transaction got rolled back.
So I changed the find method to throw FinderException, instead of
EJBException, so the transaction of sessio1 bean is not lost.
Its working now.
But the other problem I posted, where I dont want to throw any exception to
the client calling the session1 bean, I still havent figured it out, how to
stop it, although am catching all the exceptions, still the client got
exception.
Thanks
Amit Chauhan
eTouch System
510-795-4800 ext 113
Amit <[email protected]> wrote in message
news:[email protected]...
> Hi,
> I've got another question on transaction.
> I have following stateless session beans :
> session1 with trans-attribute Required.
> session2 with trans-attribute Required.
>
> session1 calls session2 and session3.
>
> session2 inserts/updates records in the database.
>
> What am doing is first I call a createSchedule method in session2, which
> creates a new record in the database.
> And then I call an update method on the session2 bean, that will fetch and
> update the newly created record.
>
> This second update fails, due to some database constraints.
> What I was hoping, that the record should not be created in the database,
> but it did.
> The first method call in session2 succeeded and the second failed !!
>
> Doesnt both the DML be part of one transaction ?
>
> Thanks
> --
> Amit
>
>
>
Maybe you are looking for
-
Using XML schema in a Java application
Hi, I need to parse and use an XML schema in an application, mainly for helping a user to build an XPATH. For that, I want to use the Schema classes bundled with Oracle's parser. Is there any documentation about that ? Or are the source code availabl
-
I downloaded Arobat X Pro trial, but I having trouble learning to use it. The videos won't download and I didn't find one with the basics, anyway. "Help" isn't muc help. Is there a short tutorial somewhere with the basics? Can I edit words in a f
-
Hello everyone, Can anyone please advise if it is possible and how to track the steps in a Iphone 5 without the M7 processor? Many thanks!!
-
I create a new composition, but when dragging and dropping a video file onto it the sound seems to not be arriving in the composition with the video. It was all working fine earlier, but now when dropping on a video file It only adds just video. Any
-
How many PCs will Adobe Premiere 13 allow installation ?
How many PCs will Adobe Premiere 13 allow installation ?