KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > ejb3 > test > stateful > TesterBean


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.ejb3.test.stateful;
23
24 import javax.annotation.Resource;
25 import javax.ejb.Remote JavaDoc;
26 import javax.ejb.Stateless JavaDoc;
27 import javax.ejb.TransactionManagement JavaDoc;
28 import javax.ejb.TransactionManagementType JavaDoc;
29 import javax.naming.InitialContext JavaDoc;
30 import javax.transaction.UserTransaction JavaDoc;
31
32 /**
33  * Comment
34  *
35  * @author <a HREF="mailto:bill@jboss.org">Bill Burke</a>
36  * @version $Revision: 44767 $
37  */

38 @Stateless()
39 @TransactionManagement JavaDoc(TransactionManagementType.BEAN)
40 @Remote JavaDoc(Tester.class)
41 public class TesterBean implements Tester
42 {
43    @Resource private UserTransaction JavaDoc ut;
44
45    public void testSessionSynchronization() throws Exception JavaDoc
46    {
47       StatefulSyncLocal sfsb = (StatefulSyncLocal)new InitialContext JavaDoc().lookup("StatefulSyncBean/local");
48       sfsb.setState("hello");
49       sfsb.setBeforeCalled(false);
50
51       ut.begin();
52       sfsb.setState("world");
53       ut.rollback();
54
55       if (!sfsb.getState().equals("hello")) throw new RuntimeException JavaDoc("rollback didn't work");
56       if (!sfsb.isBeforeCalled()) throw new RuntimeException JavaDoc("BEFORE WAS NOT CALLED");
57
58       // test new proxy
59

60       sfsb = (StatefulSyncLocal)new InitialContext JavaDoc().lookup("StatefulSyncBean/local");
61       if (sfsb.getState() != null) throw new RuntimeException JavaDoc("State should be null: " + sfsb.getState());
62    }
63
64    public void testRollback1() throws Exception JavaDoc
65    {
66       RemoveTest test = (RemoveTest)new InitialContext JavaDoc().lookup("RemoveTestBean/local");
67       ut.begin();
68       test.callRollbackOnly();
69       ut.rollback();
70    }
71    public void testRollback2() throws Exception JavaDoc
72    {
73       RemoveTest test = (RemoveTest)new InitialContext JavaDoc().lookup("RemoveTestBean/local");
74       ut.begin();
75       ut.setRollbackOnly();
76       test.removeit();
77       ut.rollback();
78    }
79 }
80
Popular Tags