geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <gno...@gmail.com>
Subject Re: svn commit: r1055251 - in /geronimo/sandbox/djencks/txmanager: ./ geronimo-transaction/ geronimo-transaction/src/main/java/org/apache/geronimo/transaction/ geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/
Date Wed, 05 Jan 2011 09:35:09 GMT
On Wed, Jan 5, 2011 at 06:46, David Jencks <david_jencks@yahoo.com> wrote:
> Hi Guillaume,
>
> First of all note that this is in my sandbox and is to a large extent an attempt to evaluate
DS.  It looks to me as if karaf does not include DS, is there a reason you know of not to
use it?  While there are some odd bits it looks pretty useful to me so far.  The main odd
bit I've found is I haven't found a way to have a single-use factory that creates the service(s)
that get registered but is not registered itself.
>
> I hadn't looked closely but remembered, apparently wrongly, that the aries tm used blueprint
and didn't have a log.  I'll certainly take a closer look.  Was there ever a discussion
of developing or moving this osgi code to geronimo?  Neither the jta nor j2ca specs use the
osgi enhancements AFAIK so it seems like an independent issue to the spec enhancements.

The goal was to implement the Spec coming out of the OSGi EEG around
Transaction, so Aries seemed like a good fit.  Note that the spec is
mostly about registering the TransactonManager as an OSGi service, so
not much here, I agree.
As I said, I don't really care about where the code is, it has already
moved around a few times, I won't object to a new move if it makes
sense.

>
> I agree duplicating work between projects is a bad idea.  It was a long time ago and
I may be mis-remembering but IIRC I didn't understand the objections to the osgi enhancements
to the specs.  I didn't work on the geronimo osgi spec enhancements but I believe they started
from the servicemix versions but Rick found that most of them didn't follow the spec requirements
closely so made a lot of changes.
>
> IIUC Rick has also come up with a replacement service locator that is osgi friendly.
 It requires installation on the boot classpath, but for those specs that can just use the
built in service locator I think it might be worth changing them back and relying on this
somewhat more general solution.

I agree, but the ServiceMix community was not really involved in the
process, leading to a duplication of efforts, since the Servicemix
community still work on the specs and that lots of specs we need
aren't provided by the geronimo ones, so we can't really migrate
anyway.

>
> thanks
> david jencks
>
> On Jan 4, 2011, at 5:12 PM, Guillaume Nodet wrote:
>
>> On Wed, Jan 5, 2011 at 02:00, David Jencks <david_jencks@yahoo.com> wrote:
>>> 1. I wanted to learn about DS
>>> 2. I wanted to use config admin which I don't think is really ready in blueprint
>>
>> The Aries Transaction manager does not use blueprint, just plain OSGi,
>> so no DS dependency even.
>> The current implementation uses a ManagedServiceFactory and is fully
>> configured using config admin.
>>
>>> 3. I don't think the aries tm has a tx log nor exposes many of the interfaces
we need.
>>
>> It has the tx log configured and exposes the following interfaces:
>>        clazzes.add(TransactionManager.class.getName());
>>        clazzes.add(TransactionSynchronizationRegistry.class.getName());
>>        clazzes.add(UserTransaction.class.getName());
>>        clazzes.add(RecoverableTransactionManager.class.getName());
>> If any are missing, a simple additional line should work.
>>
>>> 4. the tx manager is a geronimo project, we should be the ones making it osgi-friendly.
>>
>> I don't have any problems moving OSGi related things back to Geronimo,
>> but this project started in ServiceMix even before Geronimo considered
>> OSGi at all.
>> The project moved to Aries and it may make sense to move it back to
>> Geronimo, but please don't duplicate the work if there's no real
>> reason.
>> The same thing already happened with the osgi enabled specs that have
>> been duplicated from ServiceMix to Geronimo instead of collaborating
>> on some enhancements (if you remember, those enhancements had first
>> been rejected the geronimo community when I tried to introduce those a
>> few years ago).
>>
>>>
>>> david jencks
>>>
>>> On Jan 4, 2011, at 4:44 PM, Guillaume Nodet wrote:
>>>
>>>> Why not reusing the Aries one ?
>>>>
>>>> On Wed, Jan 5, 2011 at 01:28,  <djencks@apache.org> wrote:
>>>>> Author: djencks
>>>>> Date: Wed Jan  5 00:28:20 2011
>>>>> New Revision: 1055251
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1055251&view=rev
>>>>> Log:
>>>>> set up our tm as an osgi DS
>>>>>
>>>>> Added:
>>>>>    geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
  (with props)
>>>>> Modified:
>>>>>    geronimo/sandbox/djencks/txmanager/geronimo-transaction/pom.xml
>>>>>    geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/GeronimoTransactionManager.java
>>>>>    geronimo/sandbox/djencks/txmanager/pom.xml
>>>>>
>>>>> Modified: geronimo/sandbox/djencks/txmanager/geronimo-transaction/pom.xml
>>>>> URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-transaction/pom.xml?rev=1055251&r1=1055250&r2=1055251&view=diff
>>>>> ==============================================================================
>>>>> --- geronimo/sandbox/djencks/txmanager/geronimo-transaction/pom.xml (original)
>>>>> +++ geronimo/sandbox/djencks/txmanager/geronimo-transaction/pom.xml Wed
Jan  5 00:28:20 2011
>>>>> @@ -67,25 +67,64 @@
>>>>>         </dependency>
>>>>>
>>>>>         <dependency>
>>>>> +            <groupId>org.apache.felix</groupId>
>>>>> +            <artifactId>org.apache.felix.scr.annotations</artifactId>
>>>>> +        </dependency>
>>>>> +        <dependency>
>>>>> +            <groupId>org.osgi</groupId>
>>>>> +            <artifactId>org.osgi.core</artifactId>
>>>>> +        </dependency>
>>>>> +        <dependency>
>>>>>             <groupId>junit</groupId>
>>>>>             <artifactId>junit</artifactId>
>>>>>             <scope>test</scope>
>>>>>         </dependency>
>>>>> +        <!--<dependency>-->
>>>>> +            <!--<groupId>org.apache.karaf</groupId>-->
>>>>> +            <!--<artifactId>apache-karaf</artifactId>-->
>>>>> +            <!--<version>2.1.99-SNAPSHOT</version>-->
>>>>> +            <!--<type>pom</type>-->
>>>>> +            <!--<scope>provided</scope>-->
>>>>> +        <!--</dependency>-->
>>>>>     </dependencies>
>>>>>
>>>>>     <build>
>>>>>         <plugins>
>>>>>             <plugin>
>>>>>                 <groupId>org.apache.felix</groupId>
>>>>> +                <artifactId>maven-scr-plugin</artifactId>
>>>>> +            </plugin>
>>>>> +            <!--<plugin>-->
>>>>> +              <!--<groupId>org.apache.karaf.tooling</groupId>-->
>>>>> +              <!--<artifactId>features-maven-plugin</artifactId>-->
>>>>> +              <!--<version>2.1.99-SNAPSHOT</version>-->
>>>>> +                <!--<executions>-->
>>>>> +                  <!--<execution>-->
>>>>> +                    <!--<id>generate</id>-->
>>>>> +                    <!--<phase>generate-resources</phase>-->
>>>>> +                    <!--<goals>-->
>>>>> +                      <!--<goal>generate-features-xml</goal>-->
>>>>> +                    <!--</goals>-->
>>>>> +                    <!--<configuration>-->
>>>>> +                      <!--<!–<bundles>src/main/resources/bundles.properties</bundles>–>-->
>>>>> +                      <!--<!–<kernelVersion>2.1.99-SNAPSHOT</kernelVersion>–>-->
>>>>> +                      <!--<!–<outputFile>target/features.xml</outputFile>–>-->
>>>>> +                    <!--</configuration>-->
>>>>> +                  <!--</execution>-->
>>>>> +                <!--</executions>-->
>>>>> +              <!--</plugin>-->
>>>>> +            <plugin>
>>>>> +                <groupId>org.apache.felix</groupId>
>>>>>                 <artifactId>maven-bundle-plugin</artifactId>
>>>>>                 <configuration>
>>>>>                     <instructions>
>>>>>                         <Export-Package>org.apache.geronimo.transaction*;version=3.0</Export-Package>
>>>>>                         <Import-Package>
>>>>> -                            org.objectweb.howl*;resolution:=optional,
>>>>> -                            javax.resource.spi;version="1.5",
>>>>> +                            javax.resource.spi;version="[1.5,2.0)",
>>>>>                             *
>>>>>                         </Import-Package>
>>>>> +                        <Embed-Dependency>howl;inline=true</Embed-Dependency>
>>>>> +
>>>>>                     </instructions>
>>>>>                 </configuration>
>>>>>             </plugin>
>>>>>
>>>>> Added: geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
>>>>> URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java?rev=1055251&view=auto
>>>>> ==============================================================================
>>>>> --- geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
(added)
>>>>> +++ geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
Wed Jan  5 00:28:20 2011
>>>>> @@ -0,0 +1,290 @@
>>>>> +/*
>>>>> + * Licensed to the Apache Software Foundation (ASF) under one
>>>>> + * or more contributor license agreements.  See the NOTICE file
>>>>> + * distributed with this work for additional information
>>>>> + * regarding copyright ownership.  The ASF licenses this file
>>>>> + * to you under the Apache License, Version 2.0 (the
>>>>> + * "License"); you may not use this file except in compliance
>>>>> + * with the License.  You may obtain a copy of the License at
>>>>> + *
>>>>> + *  http://www.apache.org/licenses/LICENSE-2.0
>>>>> + *
>>>>> + * Unless required by applicable law or agreed to in writing,
>>>>> + * software distributed under the License is distributed on an
>>>>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>>>>> + * KIND, either express or implied.  See the License for the
>>>>> + * specific language governing permissions and limitations
>>>>> + * under the License.
>>>>> + */
>>>>> +
>>>>> +
>>>>> +package org.apache.geronimo.transaction;
>>>>> +
>>>>> +import java.io.File;
>>>>> +import java.io.IOException;
>>>>> +import java.util.Map;
>>>>> +
>>>>> +import javax.resource.spi.XATerminator;
>>>>> +import javax.transaction.HeuristicMixedException;
>>>>> +import javax.transaction.HeuristicRollbackException;
>>>>> +import javax.transaction.InvalidTransactionException;
>>>>> +import javax.transaction.NotSupportedException;
>>>>> +import javax.transaction.RollbackException;
>>>>> +import javax.transaction.Synchronization;
>>>>> +import javax.transaction.SystemException;
>>>>> +import javax.transaction.Transaction;
>>>>> +import javax.transaction.TransactionManager;
>>>>> +import javax.transaction.TransactionSynchronizationRegistry;
>>>>> +import javax.transaction.UserTransaction;
>>>>> +import javax.transaction.xa.XAException;
>>>>> +import javax.transaction.xa.Xid;
>>>>> +import org.apache.felix.scr.annotations.Activate;
>>>>> +import org.apache.felix.scr.annotations.Component;
>>>>> +import org.apache.felix.scr.annotations.Property;
>>>>> +import org.apache.felix.scr.annotations.Service;
>>>>> +import org.apache.geronimo.transaction.log.HOWLLog;
>>>>> +import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
>>>>> +import org.apache.geronimo.transaction.manager.ImportedTransactionActiveException;
>>>>> +import org.apache.geronimo.transaction.manager.MonitorableTransactionManager;
>>>>> +import org.apache.geronimo.transaction.manager.NamedXAResourceFactory;
>>>>> +import org.apache.geronimo.transaction.manager.RecoverableTransactionManager;
>>>>> +import org.apache.geronimo.transaction.manager.TransactionImpl;
>>>>> +import org.apache.geronimo.transaction.manager.TransactionManagerMonitor;
>>>>> +import org.apache.geronimo.transaction.manager.XAWork;
>>>>> +import org.apache.geronimo.transaction.manager.XidFactory;
>>>>> +import org.apache.geronimo.transaction.manager.XidFactoryImpl;
>>>>> +import org.apache.geronimo.transaction.manager.XidImporter;
>>>>> +import org.objectweb.howl.log.LogConfigurationException;
>>>>> +import org.osgi.framework.BundleContext;
>>>>> +
>>>>> +/**
>>>>> + * @version $Rev$ $Date$
>>>>> + */
>>>>> +@Component(metatype = true)
>>>>> +@Service
>>>>> +public class DSTransactionManager implements TransactionManager, UserTransaction,
TransactionSynchronizationRegistry, XidImporter, MonitorableTransactionManager, RecoverableTransactionManager,
XATerminator, XAWork {
>>>>> +
>>>>> +    @Property(byteValue = {71,84,77,73,68})
>>>>> +    private static final String TM_ID = "tmId";
>>>>> +
>>>>> +    @Property(value = "org.objectweb.howl.log.BlockLogBuffer")
>>>>> +    private static final String BUFFER_CLASS_NAME = "bufferClassName";
>>>>> +
>>>>> +    @Property(intValue = 4)
>>>>> +    private static final String BUFFER_SIZE_KBYTES = "bufferSizeKBytes";
>>>>> +
>>>>> +    @Property(boolValue = true)
>>>>> +    private static final String CHECKSUM_ENABLED = "checksumEnabled";
>>>>> +
>>>>> +    @Property(boolValue = true)
>>>>> +    private static final String ADLER32_CHECKSUM = "adler32Checksum";
>>>>> +
>>>>> +    @Property(intValue = 50)
>>>>> +    private static final String FLUSH_SLEEP_TIME_MILLISECONDS = "flushSleepTimeMilliseconds";
>>>>> +
>>>>> +    @Property(value = "txlog")
>>>>> +    private static final String LOG_FILE_DIR = "logFileDir";
>>>>> +
>>>>> +    @Property(value = "log")
>>>>> +    private static final String LOG_FILE_EXT = "logFileExt";
>>>>> +
>>>>> +    @Property(value = "howl")
>>>>> +    private static final String LOG_FILE_NAME = "logFileName";
>>>>> +
>>>>> +    @Property(intValue = 512)
>>>>> +    private static final String MAX_BLOCKS_PER_FILE = "maxBlocksPerFile";
>>>>> +
>>>>> +    @Property(intValue = 0)
>>>>> +    private static final String MAX_BUFFERS = "maxBuffers";
>>>>> +
>>>>> +    @Property(intValue = 2)
>>>>> +    private static final String MAX_LOG_FILES = "maxLogFiles";
>>>>> +
>>>>> +    @Property(intValue = 4)
>>>>> +    private static final String MIN_BUFFERS = "minBuffers";
>>>>> +
>>>>> +    @Property(intValue = -1)
>>>>> +    private static final String THREADS_WAITING_FORCE_THRESHOLD =
"threadsWaitingForceThreshold";
>>>>> +
>>>>> +    @Property(intValue = 600)
>>>>> +    private static final String DEFAULT_TRANSACTION_TIMEOUT_SECONDS
= "defaultTransactionTimeoutSeconds";
>>>>> +
>>>>> +    private GeronimoTransactionManager delegate;
>>>>> +
>>>>> +    //osgi DS methods
>>>>> +
>>>>> +    @Activate
>>>>> +    void activate(BundleContext bundleContext, Map properties) throws
IOException, LogConfigurationException, XAException {
>>>>> +        //XID factory
>>>>> +        byte[] tmId = (byte[]) properties.get(TM_ID);
>>>>> +        XidFactory xidFactory = new XidFactoryImpl(tmId);
>>>>> +
>>>>> +        //HOWL log
>>>>> +        String bufferClassName = (String) properties.get(BUFFER_CLASS_NAME);
>>>>> +        int bufferSize = (Integer) properties.get(BUFFER_SIZE_KBYTES);
>>>>> +        boolean checksumEnabled = (Boolean) properties.get(CHECKSUM_ENABLED);
>>>>> +        boolean adler32Checksum = (Boolean) properties.get(ADLER32_CHECKSUM);
>>>>> +        int flushSleepTimeMilliseconds = (Integer) properties.get(FLUSH_SLEEP_TIME_MILLISECONDS);
>>>>> +        String logFileDir = (String) properties.get(LOG_FILE_DIR);
>>>>> +        String logFileExt = (String) properties.get(LOG_FILE_EXT);
>>>>> +        String logFileName = (String) properties.get(LOG_FILE_NAME);
>>>>> +        int maxBlocksPerFile = (Integer) properties.get(MAX_BLOCKS_PER_FILE);
>>>>> +        int maxBuffers = (Integer) properties.get(MAX_BUFFERS);
>>>>> +        int maxLogFiles = (Integer) properties.get(MAX_LOG_FILES);
>>>>> +        int minBuffers = (Integer) properties.get(MIN_BUFFERS);
>>>>> +        int threadsWaitingForceThreshold = (Integer) properties.get(THREADS_WAITING_FORCE_THRESHOLD);
>>>>> +        File serverBaseDir = bundleContext.getDataFile("");
>>>>> +        HOWLLog howlLog = new HOWLLog(bufferClassName,
>>>>> +                bufferSize,
>>>>> +                checksumEnabled,
>>>>> +                adler32Checksum,
>>>>> +                flushSleepTimeMilliseconds,
>>>>> +                logFileDir,
>>>>> +                logFileExt,
>>>>> +                logFileName,
>>>>> +                maxBlocksPerFile,
>>>>> +                maxBuffers,
>>>>> +                maxLogFiles,
>>>>> +                minBuffers,
>>>>> +                threadsWaitingForceThreshold,
>>>>> +                xidFactory,
>>>>> +                serverBaseDir);
>>>>> +
>>>>> +        //tm
>>>>> +        int defaultTransactionTimeoutSeconds = (Integer)properties.get(DEFAULT_TRANSACTION_TIMEOUT_SECONDS);
>>>>> +        delegate = new GeronimoTransactionManager(defaultTransactionTimeoutSeconds,
xidFactory, howlLog);
>>>>> +    }
>>>>> +
>>>>> +
>>>>> +    public Transaction getTransaction() {
>>>>> +        return delegate.getTransaction();
>>>>> +    }
>>>>> +
>>>>> +    public void setTransactionTimeout(int seconds) throws SystemException
{
>>>>> +        delegate.setTransactionTimeout(seconds);
>>>>> +    }
>>>>> +
>>>>> +    public int getStatus() throws SystemException {
>>>>> +        return delegate.getStatus();
>>>>> +    }
>>>>> +
>>>>> +    public void begin() throws NotSupportedException, SystemException
{
>>>>> +        delegate.begin();
>>>>> +    }
>>>>> +
>>>>> +    public Transaction suspend() throws SystemException {
>>>>> +        return delegate.suspend();
>>>>> +    }
>>>>> +
>>>>> +    public void resume(Transaction tx) throws IllegalStateException,
InvalidTransactionException, SystemException {
>>>>> +        delegate.resume(tx);
>>>>> +    }
>>>>> +
>>>>> +    public Object getResource(Object key) {
>>>>> +        return delegate.getResource(key);
>>>>> +    }
>>>>> +
>>>>> +    public boolean getRollbackOnly() {
>>>>> +        return delegate.getRollbackOnly();
>>>>> +    }
>>>>> +
>>>>> +    public Object getTransactionKey() {
>>>>> +        return delegate.getTransactionKey();
>>>>> +    }
>>>>> +
>>>>> +    public int getTransactionStatus() {
>>>>> +        return delegate.getTransactionStatus();
>>>>> +    }
>>>>> +
>>>>> +    public void putResource(Object key, Object value) {
>>>>> +        delegate.putResource(key, value);
>>>>> +    }
>>>>> +
>>>>> +    public void registerInterposedSynchronization(Synchronization
synchronization) {
>>>>> +        delegate.registerInterposedSynchronization(synchronization);
>>>>> +    }
>>>>> +
>>>>> +    public void setRollbackOnly() throws IllegalStateException {
>>>>> +        delegate.setRollbackOnly();
>>>>> +    }
>>>>> +
>>>>> +    public void commit() throws HeuristicMixedException, HeuristicRollbackException,
IllegalStateException, RollbackException, SecurityException, SystemException {
>>>>> +        delegate.commit();
>>>>> +    }
>>>>> +
>>>>> +    public void rollback() throws IllegalStateException, SecurityException,
SystemException {
>>>>> +        delegate.rollback();
>>>>> +    }
>>>>> +
>>>>> +    public Transaction importXid(Xid xid, long transactionTimeoutMilliseconds)
throws XAException, SystemException {
>>>>> +        return delegate.importXid(xid, transactionTimeoutMilliseconds);
>>>>> +    }
>>>>> +
>>>>> +    public void commit(Transaction tx, boolean onePhase) throws XAException
{
>>>>> +        delegate.commit(tx, onePhase);
>>>>> +    }
>>>>> +
>>>>> +    public void forget(Transaction tx) throws XAException {
>>>>> +        delegate.forget(tx);
>>>>> +    }
>>>>> +
>>>>> +    public int prepare(Transaction tx) throws XAException {
>>>>> +        return delegate.prepare(tx);
>>>>> +    }
>>>>> +
>>>>> +    public void rollback(Transaction tx) throws XAException {
>>>>> +        delegate.rollback(tx);
>>>>> +    }
>>>>> +
>>>>> +    public void recoveryError(Exception e) {
>>>>> +        delegate.recoveryError(e);
>>>>> +    }
>>>>> +
>>>>> +    public void registerNamedXAResourceFactory(NamedXAResourceFactory
namedXAResourceFactory) {
>>>>> +        delegate.registerNamedXAResourceFactory(namedXAResourceFactory);
>>>>> +    }
>>>>> +
>>>>> +    public void unregisterNamedXAResourceFactory(String namedXAResourceFactoryName)
{
>>>>> +        delegate.unregisterNamedXAResourceFactory(namedXAResourceFactoryName);
>>>>> +    }
>>>>> +
>>>>> +    public Map<Xid, TransactionImpl> getExternalXids() {
>>>>> +        return delegate.getExternalXids();
>>>>> +    }
>>>>> +
>>>>> +    public void addTransactionAssociationListener(TransactionManagerMonitor
listener) {
>>>>> +        delegate.addTransactionAssociationListener(listener);
>>>>> +    }
>>>>> +
>>>>> +    public void removeTransactionAssociationListener(TransactionManagerMonitor
listener) {
>>>>> +        delegate.removeTransactionAssociationListener(listener);
>>>>> +    }
>>>>> +
>>>>> +    public void commit(Xid xid, boolean onePhase) throws XAException
{
>>>>> +        delegate.commit(xid, onePhase);
>>>>> +    }
>>>>> +
>>>>> +    public void forget(Xid xid) throws XAException {
>>>>> +        delegate.forget(xid);
>>>>> +    }
>>>>> +
>>>>> +    public int prepare(Xid xid) throws XAException {
>>>>> +        return delegate.prepare(xid);
>>>>> +    }
>>>>> +
>>>>> +    public Xid[] recover(int flag) throws XAException {
>>>>> +        return delegate.recover(flag);
>>>>> +    }
>>>>> +
>>>>> +    public void rollback(Xid xid) throws XAException {
>>>>> +        delegate.rollback(xid);
>>>>> +    }
>>>>> +
>>>>> +    public void begin(Xid xid, long txTimeoutMillis) throws XAException,
InvalidTransactionException, SystemException, ImportedTransactionActiveException {
>>>>> +        delegate.begin(xid, txTimeoutMillis);
>>>>> +    }
>>>>> +
>>>>> +    public void end(Xid xid) throws XAException, SystemException {
>>>>> +        delegate.end(xid);
>>>>> +    }
>>>>> +}
>>>>>
>>>>> Propchange: geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
>>>>> ------------------------------------------------------------------------------
>>>>>    svn:eol-style = native
>>>>>
>>>>> Propchange: geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
>>>>> ------------------------------------------------------------------------------
>>>>>    svn:keywords = Date Revision
>>>>>
>>>>> Propchange: geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/DSTransactionManager.java
>>>>> ------------------------------------------------------------------------------
>>>>>    svn:mime-type = text/plain
>>>>>
>>>>> Modified: geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/GeronimoTransactionManager.java
>>>>> URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/GeronimoTransactionManager.java?rev=1055251&r1=1055250&r2=1055251&view=diff
>>>>> ==============================================================================
>>>>> --- geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/GeronimoTransactionManager.java
(original)
>>>>> +++ geronimo/sandbox/djencks/txmanager/geronimo-transaction/src/main/java/org/apache/geronimo/transaction/manager/GeronimoTransactionManager.java
Wed Jan  5 00:28:20 2011
>>>>> @@ -16,10 +16,10 @@
>>>>>  */
>>>>>  package org.apache.geronimo.transaction.manager;
>>>>>
>>>>> -import java.util.Collection;
>>>>>  import java.util.HashMap;
>>>>>  import java.util.Iterator;
>>>>>  import java.util.Map;
>>>>> +
>>>>>  import javax.resource.spi.XATerminator;
>>>>>  import javax.transaction.InvalidTransactionException;
>>>>>  import javax.transaction.Status;
>>>>>
>>>>> Modified: geronimo/sandbox/djencks/txmanager/pom.xml
>>>>> URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/pom.xml?rev=1055251&r1=1055250&r2=1055251&view=diff
>>>>> ==============================================================================
>>>>> --- geronimo/sandbox/djencks/txmanager/pom.xml (original)
>>>>> +++ geronimo/sandbox/djencks/txmanager/pom.xml Wed Jan  5 00:28:20 2011
>>>>> @@ -26,7 +26,7 @@
>>>>>         <groupId>org.apache.geronimo.genesis</groupId>
>>>>>         <artifactId>genesis-java5-flava</artifactId>
>>>>>         <version>2.0</version>
>>>>> -        <relativePath />
>>>>> +        <relativePath/>
>>>>>     </parent>
>>>>>
>>>>>     <groupId>org.apache.geronimo.components</groupId>
>>>>> @@ -89,7 +89,7 @@
>>>>>                 <artifactId>geronimo-j2ee-connector_1.6_spec</artifactId>
>>>>>                 <version>1.0</version>
>>>>>             </dependency>
>>>>> -
>>>>> +
>>>>>             <dependency>
>>>>>                 <groupId>org.apache.geronimo.specs</groupId>
>>>>>                 <artifactId>geronimo-validation_1.0_spec</artifactId>
>>>>> @@ -110,6 +110,16 @@
>>>>>                 <scope>test</scope>
>>>>>             </dependency>
>>>>>
>>>>> +            <dependency>
>>>>> +                <groupId>org.apache.felix</groupId>
>>>>> +                <artifactId>org.apache.felix.scr.annotations</artifactId>
>>>>> +                <version>1.4.0</version>
>>>>> +            </dependency>
>>>>> +            <dependency>
>>>>> +                <groupId>org.osgi</groupId>
>>>>> +                <artifactId>org.osgi.core</artifactId>
>>>>> +                <version>4.2.0</version>
>>>>> +            </dependency>
>>>>>         </dependencies>
>>>>>     </dependencyManagement>
>>>>>
>>>>> @@ -129,6 +139,22 @@
>>>>>                     </configuration>
>>>>>                 </plugin>
>>>>>
>>>>> +                <plugin>
>>>>> +                    <groupId>org.apache.felix</groupId>
>>>>> +                    <artifactId>maven-scr-plugin</artifactId>
>>>>> +                    <version>1.6.0</version>
>>>>> +                    <executions>
>>>>> +                        <execution>
>>>>> +                            <id>generate-scr-scrdescriptor</id>
>>>>> +                            <goals>
>>>>> +                                <goal>scr</goal>
>>>>> +                            </goals>
>>>>> +                        </execution>
>>>>> +                    </executions>
>>>>> +                    <configuration>
>>>>> +                        <specVersion>1.1</specVersion>
>>>>> +                    </configuration>
>>>>> +                </plugin>
>>>>>             </plugins>
>>>>>         </pluginManagement>
>>>>>     </build>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Cheers,
>>>> Guillaume Nodet
>>>> ------------------------
>>>> Blog: http://gnodet.blogspot.com/
>>>> ------------------------
>>>> Open Source SOA
>>>> http://fusesource.com
>>>
>>>
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Mime
View raw message