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 01:12:23 GMT
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

Mime
View raw message