• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Changeset
  • Next Changeset →

Changeset 1038

Show
Ignore:
Timestamp:
10/12/06 14:38:30 (2 years ago)
Author:
jmoore
Message:

#427 Fixing JTA/container transactions!

Location:
trunk/components/server
Files:
12 modified

  • resources/ome/services/in-container.xml (modified) (1 diff)
  • src/ome/logic/AdminImpl.java (modified) (2 diffs)
  • src/ome/logic/AnalysisImpl.java (modified) (2 diffs)
  • src/ome/logic/ConfigImpl.java (modified) (2 diffs)
  • src/ome/logic/PixelsImpl.java (modified) (2 diffs)
  • src/ome/logic/PojosImpl.java (modified) (2 diffs)
  • src/ome/logic/QueryImpl.java (modified) (2 diffs)
  • src/ome/logic/ThumbImpl.java (modified) (2 diffs)
  • src/ome/logic/TypesImpl.java (modified) (2 diffs)
  • src/ome/logic/UpdateImpl.java (modified) (2 diffs)
  • src/ome/services/RawPixelsBean.java (modified) (5 diffs)
  • src/ome/services/RenderingBean.java (modified) (6 diffs)

Legend:

Unmodified
Added
Removed
  • trunk/components/server/resources/ome/services/in-container.xml

    r921 r1038  
    6666    Scope: private 
    6767    </description> 
     68    <property name="userTransactionName" value="UserTransaction"/> 
    6869  </bean> 
    6970 
    70   <!-- Does nothing; the Application Server     will handle this --> 
    7171  <bean id="transactionHandler"  
    72         class="org.springframework.aop.interceptor.DebugInterceptor"> 
     72        class="org.springframework.transaction.interceptor.TransactionInterceptor"> 
    7373    <description> 
    7474    Scope: private 
    7575    </description> 
     76    <property name="transactionManager" ref="transactionManager"/> 
     77    <property name="transactionAttributeSource"> 
     78      <bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/> 
     79    </property> 
    7680  </bean> 
    7781 
  • trunk/components/server/src/ome/logic/AdminImpl.java

    r1006 r1038  
    4141import javax.ejb.Remote; 
    4242import javax.ejb.Stateless; 
     43import javax.ejb.TransactionManagement; 
     44import javax.ejb.TransactionManagementType; 
    4345import javax.interceptor.Interceptors; 
    4446import javax.management.InstanceNotFoundException; 
    … …  
    114116 * @since 3.0-M3 
    115117 */ 
     118@TransactionManagement(TransactionManagementType.BEAN) 
     119@Transactional 
    116120@RevisionDate("$Date$") 
    117121@RevisionNumber("$Revision$") 
    118 @Transactional 
    119122@Stateless 
    120123@Remote(IAdmin.class) 
  • trunk/components/server/src/ome/logic/AnalysisImpl.java

    r903 r1038  
    4141import java.util.Set; 
    4242 
     43import javax.ejb.TransactionManagement; 
     44import javax.ejb.TransactionManagementType; 
     45 
    4346//Third-party libraries 
    4447import org.springframework.transaction.annotation.Transactional; 
    … …  
    6265 * @since OMERO 1.0 
    6366 */ 
     67@TransactionManagement(TransactionManagementType.BEAN) 
    6468@Transactional(readOnly=true) 
    6569public class AnalysisImpl extends AbstractLevel2Service implements IAnalysis { 
  • trunk/components/server/src/ome/logic/ConfigImpl.java

    r920 r1038  
    4444import javax.ejb.Remote; 
    4545import javax.ejb.Stateless; 
     46import javax.ejb.TransactionManagement; 
     47import javax.ejb.TransactionManagementType; 
    4648import javax.interceptor.Interceptors; 
    4749 
    … …  
    8991// ~ Service annotations 
    9092// ============================================================================= 
     93 
     94/* Source: EJB3 Specification 
     95 * Purpose:  Prevents the Container from managing transactions (CMT), and 
     96 * instead delegates commits and rollbacks to user code. This is, however,  
     97 * managed by Spring (@Transactional below) 
     98 *  @see https://trac.openmicroscopy.org.uk/omero/ticket/427 
     99 */ 
     100@TransactionManagement(TransactionManagementType.BEAN) 
    91101 
    92102/* Source: Spring 
  • trunk/components/server/src/ome/logic/PixelsImpl.java

    r992 r1038  
    3939import javax.ejb.Remote; 
    4040import javax.ejb.Stateless; 
     41import javax.ejb.TransactionManagement; 
     42import javax.ejb.TransactionManagementType; 
    4143import javax.interceptor.Interceptors; 
    4244 
    … …  
    7274 * @since OME2.2 
    7375 */ 
     76@TransactionManagement(TransactionManagementType.BEAN) 
    7477@Transactional(readOnly=true) 
    7578@Stateless 
  • trunk/components/server/src/ome/logic/PojosImpl.java

    r908 r1038  
    5050import javax.ejb.Remote; 
    5151import javax.ejb.Stateless; 
     52import javax.ejb.TransactionManagement; 
     53import javax.ejb.TransactionManagementType; 
    5254import javax.interceptor.Interceptors; 
    5355 
    … …  
    98100 * @since OMERO 2.0 
    99101 */ 
     102@TransactionManagement(TransactionManagementType.BEAN) 
    100103@Transactional 
    101104@Stateless 
  • trunk/components/server/src/ome/logic/QueryImpl.java

    r1005 r1038  
    4040import javax.ejb.Remote; 
    4141import javax.ejb.Stateless; 
     42import javax.ejb.TransactionManagement; 
     43import javax.ejb.TransactionManagementType; 
    4244import javax.interceptor.Interceptors; 
    4345 
    … …  
    8486 *  
    8587 */ 
     88@TransactionManagement(TransactionManagementType.BEAN) 
    8689@Transactional(readOnly=true) 
    8790@Stateless 
  • trunk/components/server/src/ome/logic/ThumbImpl.java

    r1017 r1038  
    4343import javax.ejb.Remote; 
    4444import javax.ejb.Stateless; 
     45import javax.ejb.TransactionManagement; 
     46import javax.ejb.TransactionManagementType; 
    4547import javax.imageio.IIOImage; 
    4648import javax.imageio.ImageIO; 
    … …  
    8688 *  
    8789 */ 
     90@TransactionManagement(TransactionManagementType.BEAN) 
    8891@Transactional 
    8992@Stateless 
  • trunk/components/server/src/ome/logic/TypesImpl.java

    r992 r1038  
    4646import javax.ejb.Remote; 
    4747import javax.ejb.Stateless; 
     48import javax.ejb.TransactionManagement; 
     49import javax.ejb.TransactionManagementType; 
    4850import javax.interceptor.Interceptors; 
    4951 
    … …  
    7779 * @since OMERO 3.0 
    7880 */ 
     81@TransactionManagement(TransactionManagementType.BEAN) 
    7982@Transactional 
    8083@Stateless 
  • trunk/components/server/src/ome/logic/UpdateImpl.java

    r977 r1038  
    4646import javax.ejb.Remote; 
    4747import javax.ejb.Stateless; 
     48import javax.ejb.TransactionManagement; 
     49import javax.ejb.TransactionManagementType; 
    4850import javax.interceptor.Interceptors; 
    4951 
    … …  
    7678 * @since OMERO 3.0 
    7779 */ 
     80@TransactionManagement(TransactionManagementType.BEAN) 
    7881@Transactional(readOnly=false) 
    7982@Stateless 
  • trunk/components/server/src/ome/services/RawPixelsBean.java

    r1032 r1038  
    3131 
    3232// Java imports 
     33import static javax.ejb.TransactionAttributeType.REQUIRED; 
     34 
    3335import java.io.IOException; 
    3436import java.io.Serializable; 
    … …  
    4446import javax.ejb.Remote; 
    4547import javax.ejb.Stateful; 
     48import javax.ejb.TransactionManagement; 
     49import javax.ejb.TransactionManagementType; 
    4650 
    4751// Third-party libraries 
    … …  
    4953import org.jboss.annotation.ejb.RemoteBinding; 
    5054import org.jboss.annotation.security.SecurityDomain; 
     55import org.springframework.transaction.annotation.Transactional; 
    5156 
    5257// Application-internal dependencies 
    … …  
    7580 * @since OMERO3 
    7681 */ 
     82@TransactionManagement(TransactionManagementType.BEAN) 
     83@Transactional 
    7784@Stateful 
    7885@Remote(RawPixelsStore.class) 
    … …  
    142149     
    143150    @RolesAllowed("user") 
     151    @Transactional( readOnly = true ) 
    144152    public void setPixelsId( long pixelsId ) 
    145153    { 
  • trunk/components/server/src/ome/services/RenderingBean.java

    r1032 r1038  
    4545import javax.ejb.Remote; 
    4646import javax.ejb.Stateful; 
    47 import javax.ejb.TransactionAttribute; 
     47import javax.ejb.TransactionManagement; 
     48import javax.ejb.TransactionManagementType; 
    4849 
    4950import static javax.ejb.TransactionAttributeType.*; 
    … …  
    125126@SecurityDomain("OmeroSecurity") 
    126127@Cache(NoPassivationCache.class) 
     128@TransactionManagement(TransactionManagementType.BEAN) 
    127129@Transactional // TODO previously not here. examine the difference. 
    128130public class RenderingBean extends AbstractLevel2Service  
    … …  
    242244     */ 
    243245    @RolesAllowed("user") 
    244     @TransactionAttribute(REQUIRED) 
    245246    public void lookupPixels(long pixelsId) 
    246247    { 
    … …  
    269270     */ 
    270271    @RolesAllowed("user") 
    271     @TransactionAttribute(REQUIRED) 
    272272    public void lookupRenderingDef(long pixelsId) 
    273273    { 
    … …  
    295295     */ 
    296296    @RolesAllowed("user") 
    297     @TransactionAttribute(REQUIRED) 
    298297    public void load() 
    299298    { 
    … …  
    320319     */ 
    321320    @RolesAllowed("user") 
    322     @TransactionAttribute(REQUIRED) 
    323321    public EventContext getCurrentEventContext() 
    324322    { 

Download in other formats:

  • Unified Diff
  • Zip Archive

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/