Tuscany SCA + Spring

Palabras clave:
Tiempo aproximado: < 1 min.
Acabo de conseguir echar a andar uno de los ejemplos de Tuscany SCA en el que se muestra cómo usarlo con la extensión Spring. Está todo mavenizado pero hay que hacer algún “hack” porque hay dependencias SNAPSHOT que aún no han sido liberadas.

  1. Hay que hacer checkout desde https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/simple-bigbank-spring. Yo lo he hecho desde mi Eclipse 3.3 con JDK 6 y con el plugin m2 para Maven. Así, en mi workspace tengo el proyecto “simple-bigbank-spring” pero ni compila ni nada.
  2. Botón derecho + “Enable Dependency Management” para habilitar el plugin de Maven.
  3. Botón derecho + “Properties” para revisar el classpath:
    • Añadir la librería del JRE (yo he puesto la que tengo por defecto: JDK 6)
    • Quitar el directorio raíz del proyecto como carpeta para el código fuente y seleccionar los estándar de Maven: src/main/java, src/main/resources y src/test/java.
    • Cambiar el directorio destino de las clases compiladas de “bin” a “target/classes”.
    • Pulsar “OK” y aceptar que se borre el contenido de “bin”.
  4. Tocar el pom.xml:
    • Añadir el repositorio de snapshots de apache: http://people.apache.org/repo/m2-snapshot-repository

    • <repository>
      <id>apache.snapshot</id>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      </repository>

    • Eliminar el elemento “relativePath” del “parent”.
    • Cambiar todas las dependencias 1.1-incubating-SNAPSHOT por 1.0-incubating-SNAPSHOT.
  5. (Es posible que tengáis que deshabilitar y volver a habilitar las dependencias de Maven para que pille estos cambios).
  6. Ejecutar el goal “install” con Maven, lo cuál descargará bastantes librerías, y al final deberíais tener el proyecto perfectamente compilado y listo para ejecutar.
  7. Ejecutad la única prueba en src/test/java/bigbank/BigBankTestCase (con botón derecho “Run As Junit Test”).

El resultado en la consola es:

log4j:WARN No appenders could be found for logger (org.apache.tuscany.sca.implementation.spring.SCAApplicationContext).
log4j:WARN Please initialize the log4j system properly.
Spring parent context – getBean called for name: stockQuoteService
Getting stock quote for: IBM, value: 104.73
Account summary: currency: USD, [ID:Foo_CHA12345, balance:1500.0, ID:Foo_SAA12345, balance:1500.0, ID:Foo_STA12345, symbol:IBM, quantity:100, balance:10473.0]