[jboss-dev-forums] [JBoss ESB Development] New message: "Smooks problem"
Gilles Dupont Tagne Tagne
do-not-reply at jboss.com
Wed Jan 13 06:32:44 EST 2010
JBoss development,
A new message was posted in the thread "Smooks problem":
http://community.jboss.org/message/519787#519787
Author : Gilles Dupont Tagne Tagne
Profile : http://community.jboss.org/people/tagnegilles
Message:
--------------------------------------------------------------
Hi Gays,
I try to use smooks in my ESB project to store some data in an exterm database. But it doesn't work. I am doing may be something wrong. Please i need your help. I am using JBossESB 4.7 in JBoss AS 5.1.0 jdk6
jboss-esb.xml
<?xml version="1.0"?>
<jbossesb parameterReloadSecs="5"
xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
<providers>
<jms-provider connection-factory="ConnectionFactory" name="JbossMessaging">
<jms-bus busid="splitterChannel">
<jms-message-filter dest-name="/queue/splitterQueue" dest-type="QUEUE"/>
</jms-bus>
</jms-provider>
<schedule-provider name="CronSchedulerProvider">
<cron-schedule cronExpression="0/3 * * * * ?" scheduleid="myCronSchedule"/>
</schedule-provider>
<fs-provider name="FileSystemProvider">
<fs-bus busid="esbFileSystem">
<fs-message-filter directory="/Users/gilles/Desktop/ESB/Input"
error-delete="false"
error-directory="/Users/gilles/Desktop/ESB/Error"
error-suffix=".error" input-suffix=".csv" post-delete="true"
post-directory="/Users/gilles/Desktop/ESB/Post" post-suffix=".post" work-suffix=".work"/>
</fs-bus>
</fs-provider>
</providers>
<services>
<service category="splitterTest" description="Splitt the .csv file"
invmScope="GLOBAL" name="fileSplitter">
<listeners>
<fs-listener busidref="esbFileSystem" is-gateway="true"
name="FileListener" scheduleidref="myCronSchedule">
<property name="composer-class" value="org.jboss.soa.esb.smooks.splitting.FileStreamSplitter"/>
<property name="splitterConfig" value="/mySmooksConf.xml"/>
</fs-listener>
</listeners>
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.SystemPrintln" name="Print">
<property name="message" value="[Splitter] Message Split complete"/>
</action>
</actions>
</service>
<service category="splitterTest"
description="Route the message to a jms queue" invmScope="GLOBAL" name="routerSplitter">
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.Notifier" name="NotifyAction1">
<property name="destinations">
<NotificationList type="ok">
<target class="NotifyQueues">
<queue jndiName="queue/splitterQueue"/>
</target>
</NotificationList>
</property>
<property name="okMethod" value="notifyOK"/>
</action>
<!-- Alte Version
<action class="org.jboss.soa.esb.actions.routing.JMSRouter" name="jmsRouter">
<property name="unwrap" value="true"/>
<property name="jndiName" value="queue/splitterQueue"/>
</action> -->
</actions>
</service>
<service category="splitterTest"
description="Route the age element of the message to a jms queue"
invmScope="GLOBAL" name="routerAgeSplitter">
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.Notifier" name="NotifyAction2">
<property name="destinations">
<NotificationList type="ok">
<target class="NotifyQueues">
<queue jndiName="queue/splitterAgeESBQueue"/>
</target>
</NotificationList>
</property>
<property name="okMethod" value="notifyOK"/>
</action>
<!--
<action class="org.jboss.soa.esb.actions.routing.JMSRouter" name="jmsRouterAge">
<property name="unwrap" value="true"/>
<property name="jndiName" value="queue/splitterAgeESBQueue"/>
</action> -->
</actions>
</service>
<service category="splitterTest" description="Make routing on Age"
invmScope="GLOBAL" name="recipientListAge">
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.StaticRouter" name="staticRoutingAge">
<property name="destinations">
<route-to destination-name="ToRouterAgeSplitter"
service-category="splitterTest" service-name="routerAgeSplitter"/>
<route-to destination-name="ToDbPersistAge"
service-category="splitterTest" service-name="dbPersist"/>
</property>
</action>
</actions>
</service>
<service category="splitterTest"
description="Persist data in the database" invmScope="GLOBAL" name="dbPersist">
<actions mep="OneWay">
<action class="org.jboss.soa.esb.actions.SystemPrintln" name="PrintMessage1">
<property name="message" value="Message"/>
</action>
<action class="org.jboss.soa.esb.smooks.SmooksAction" name="smoksActionXML">
<property name="smooksConfig" value="/xmlSmooksConf.xml"/>
</action>
<action class="org.jboss.soa.esb.actions.SystemPrintln" name="PrintMessage2">
<property name="message" value="Message"/>
</action>
<action class="org.jboss.soa.esb.smooks.SmooksAction" name="smoksActionDB">
<property name="smooksConfig" value="/dbSmooksConf.xml"/>
</action>
</actions>
</service>
</services>
</jbossesb>
mySmooksConf.xml
<?xml version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.2.xsd"
xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd"
xmlns:esbr="http://www.jboss.org/xsd/jbossesb/smooks/routing-1.0.xsd"
xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
<params>
<param name="stream.filter.type">SAX</param>
</params>
<csv:reader fields="id,firstname,lastname,age" rootElementName="liste" recordElementName="person">
<csv:singleBinding beanId="personvirtual" class="java.util.HashMap"/>
</csv:reader>
<ftl:freemarker applyOnElement="person">
<ftl:template><!--${personvirtual.id},${personvirtual.firstname},${personvirtual.lastname}--></ftl:template>
<ftl:use>
<ftl:bindTo id="personFragment" />
</ftl:use>
</ftl:freemarker>
<ftl:freemarker applyOnElement="person">
<ftl:template><!--${personvirtual.id},${personvirtual.age}--></ftl:template>
<ftl:use>
<ftl:bindTo id="personAgeFragment" />
</ftl:use>
</ftl:freemarker>
<esbr:routeBean beanIdRef="personFragment" toServiceCategory="splitterTest" toServiceName="routerSplitter" routeOnElement="person"/>
<esbr:routeBean beanIdRef="personAgeFragment" toServiceCategory="splitterTest" toServiceName="recipientListAge" routeOnElement="person"/>
</smooks-resource-list>
xmlSmooksConf.xml
<?xml version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
<params>
<param name="stream.filter.type">SAX</param>
</params>
<csv:reader fields="id,age" rootElementName="personliste" recordElementName="person"/>
</smooks-resource-list>
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/519787#519787
More information about the jboss-dev-forums
mailing list