I wonder why my smooks filter take too long to process. For 30 mb of csv file It took me 4 hrs before the smooks filter done..
see my smooks-config.xml code
<?xml version="1.0"?>
<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:edi="http://www.milyn.org/xsd/smooks/edi-1.2.xsd">
<!--
Generated by Smooks EJC (Edifact
Java Compiler).
-->
<params>
<param name="stream.filter.type">SAX</param>
</params>
<edi:reader mappingModel="com/xxxxxxxxx/tempo/invoicereader/db/thameswater/vodafone/corporate/resources/edi-mapping.xml" validate="false" />
<jb:bean beanId="invoice" class="com.xxxxxxxxx.tempo.invoicereader.db.thameswater.vodafone.corporate.resources.Invoice" createOnElement="Invoice">
<jb:wiring property="firstSegment" beanIdRef="Invoice.first-segment_List" />
<jb:wiring property="secondSegment" beanIdRef="Invoice.second-segment_List" />
<jb:wiring property="thirdSegment" beanIdRef="Invoice.third-segment_List" />
</jb:bean>
<jb:bean beanId="Invoice.first-segment_List" class="java.util.ArrayList" createOnElement="Invoice">
<jb:wiring beanIdRef="Invoice.first-segment" />
</jb:bean>
<jb:bean beanId="Invoice.first-segment" class="com.xxxxxxxxx.tempo.invoicereader.db.thameswater.vodafone.corporate.resources.FirstSegment" createOnElement="Invoice/first-segment">
<jb:value property="account" data="Invoice/first-segment/account" default="null"/>
<jb:value property="subAccountNumber" data="Invoice/first-segment/sub-account-number" default="null"/>
<jb:value property="allocationCode1" data="Invoice/first-segment/allocation-code1" default="null"/>
<jb:value property="allocationCode2" data="Invoice/first-segment/allocation-code2" default="null"/>
<jb:value property="allocationCode3" data="Invoice/first-segment/allocation-code3" default="null"/>
<jb:value property="allocationCode4" data="Invoice/first-segment/allocation-code4" default="null"/>
<jb:value property="phoneNumber" data="Invoice/first-segment/phone-number" default="null"/>
<jb:value property="userName" data="Invoice/first-segment/user-name" default="null"/>
<jb:value property="recurringCharges" data="Invoice/first-segment/recurring-charges" default="null"/>
<jb:value property="recurringCredits" data="Invoice/first-segment/recurring-credits" default="null"/>
<jb:value property="usageCharges" data="Invoice/first-segment/usage-charges" default="null"/>
<jb:value property="usageCredits" data="Invoice/first-segment/usage-credits" default="null"/>
<jb:value property="otherCharges" data="Invoice/first-segment/other-charges" default="null"/>
<jb:value property="otherCredits" data="Invoice/first-segment/other-credits" default="null"/>
<jb:value property="totalChargeExvat" data="Invoice/first-segment/total-charge-exvat" default="null"/>
<jb:value property="vatZeroRated" data="Invoice/first-segment/vat-zero-rated" default="null"/>
<jb:value property="vatExempt" data="Invoice/first-segment/vat-exempt" default="null"/>
<jb:value property="vatStandardRate" data="Invoice/first-segment/vat-standard-rate" default="null"/>
<jb:value property="vatOutOfScope" data="Invoice/first-segment/vat-out-of-scope" default="null"/>
<jb:value property="callsUkCost" data="Invoice/first-segment/calls-uk-cost" default="null"/>
<jb:value property="callsUkVolume" data="Invoice/first-segment/calls-uk-volume" default="null"/>
<jb:value property="callsUkDuration" data="Invoice/first-segment/calls-uk-duration" default="null"/>
<jb:value property="roamedCallsCost" data="Invoice/first-segment/roamed-calls-cost" default="null"/>
<jb:value property="roamedCallsVolume" data="Invoice/first-segment/roamed-calls-volume" default="null"/>
<jb:value property="roamedCallsDuartion" data="Invoice/first-segment/roamed-calls-duartion" default="null"/>
<jb:value property="messagingUkCost" data="Invoice/first-segment/messaging-uk-cost" default="null"/>
<jb:value property="messagingUkVolume" data="Invoice/first-segment/messaging-uk-volume" default="null"/>
<jb:value property="roamedMessagingCost" data="Invoice/first-segment/roamed-messaging-cost" default="null"/>
<jb:value property="roamedMessagingVolume" data="Invoice/first-segment/roamed-messaging-volume" default="null"/>
<jb:value property="mobileBrowsingDataCost" data="Invoice/first-segment/mobile-browsing-data-cost" default="null"/>
<jb:value property="mobileBrowsingDataVolume" data="Invoice/first-segment/mobile-browsing-data-volume" default="null"/>
<jb:value property="roamedMobileBrowsingDataCost" data="Invoice/first-segment/roamed-mobile-browsing-data-cost" default="null"/>
<jb:value property="roamedMobileBrowsingDataVolume" data="Invoice/first-segment/roamed-mobile-browsing-data-volume" default="null"/>
<jb:value property="purchacesCost" data="Invoice/first-segment/purchaces-cost" default="null"/>
<jb:value property="purchasesVolume" data="Invoice/first-segment/purchases-volume" default="null"/>
<jb:value property="pricePlanCode" data="Invoice/first-segment/price-plan-code" default="null"/>
<jb:value property="pricePlanDescription" data="Invoice/first-segment/price-plan-description" default="null"/>
</jb:bean>
<jb:bean beanId="Invoice.second-segment_List" class="java.util.ArrayList" createOnElement="Invoice">
<jb:wiring beanIdRef="Invoice.second-segment" />
</jb:bean>
<jb:bean beanId="Invoice.second-segment" class="com.xxxxxxxxx.tempo.invoicereader.db.thameswater.vodafone.corporate.resources.SecondSegment" createOnElement="Invoice/second-segment">
<jb:value property="account" data="Invoice/second-segment/account" default="null"/>
<jb:value property="subAccount" data="Invoice/second-segment/sub-account" default="null"/>
<jb:value property="billSequenceNumber" data="Invoice/second-segment/bill-sequence-number" default="null"/>
<jb:value property="invoiceNumber" data="Invoice/second-segment/invoice-number" default="null"/>
<jb:value property="recurringCharges" data="Invoice/second-segment/recurring-charges" default="null"/>
<jb:value property="recurringCredits" data="Invoice/second-segment/recurring-credits" default="null"/>
<jb:value property="usageCharges" data="Invoice/second-segment/usage-charges" default="null"/>
<jb:value property="usageCredits" data="Invoice/second-segment/usage-credits" default="null"/>
<jb:value property="otherCharges" data="Invoice/second-segment/other-charges" default="null"/>
<jb:value property="otherCredits" data="Invoice/second-segment/other-credits" default="null"/>
<jb:value property="totalChargeExvat" data="Invoice/second-segment/total-charge-exvat" default="null"/>
<jb:value property="vatZeroRated" data="Invoice/second-segment/vat-zero-rated" default="null"/>
<jb:value property="vatExempt" data="Invoice/second-segment/vat-exempt" default="null"/>
<jb:value property="vatStandardRate" data="Invoice/second-segment/vat-standard-rate" default="null"/>
<jb:value property="vatOutOfScope" data="Invoice/second-segment/vat-out-of-scope" default="null"/>
<jb:value property="totalVat" data="Invoice/second-segment/total-vat" default="null"/>
<jb:value property="invoiceTotalIncvat" data="Invoice/second-segment/invoice-total-incvat" default="null"/>
<jb:value property="invoiceDate" data="Invoice/second-segment/invoice-date" default="null"/>
<jb:value property="invoiceDueDate" data="Invoice/second-segment/invoice-due-date" default="null"/>
</jb:bean>
<jb:bean beanId="Invoice.third-segment_List" class="java.util.ArrayList" createOnElement="Invoice">
<jb:wiring beanIdRef="Invoice.third-segment" />
</jb:bean>
<jb:bean beanId="Invoice.third-segment" class="com.xxxxxxxxx.tempo.invoicereader.db.thameswater.vodafone.corporate.resources.ThirdSegment" createOnElement="Invoice/third-segment">
<jb:value property="account" data="Invoice/third-segment/account" default="null"/>
<jb:value property="subAccount" data="Invoice/third-segment/sub-account" default="null"/>
<jb:value property="billSequenceNumber" data="Invoice/third-segment/bill-sequence-number" default="null"/>
<jb:value property="invoiceNumber" data="Invoice/third-segment/invoice-number" default="null"/>
<jb:value property="allocationCode1" data="Invoice/third-segment/allocation-code1" default="null"/>
<jb:value property="allocationCode2" data="Invoice/third-segment/allocation-code2" default="null"/>
<jb:value property="allocationCode3" data="Invoice/third-segment/allocation-code3" default="null"/>
<jb:value property="allocationCode4" data="Invoice/third-segment/allocation-code4" default="null"/>
<jb:value property="phoneNumber" data="Invoice/third-segment/phone-number" default="null"/>
<jb:value property="userName" data="Invoice/third-segment/user-name" default="null"/>
<jb:value property="chargeStartDate" data="Invoice/third-segment/charge-start-date" default="null"/>
<jb:value property="chargeEndDate" data="Invoice/third-segment/charge-end-date" default="null"/>
<jb:value property="chargeType" data="Invoice/third-segment/charge-type" default="null"/>
<jb:value property="chargeDescription" data="Invoice/third-segment/charge-description" default="null"/>
<jb:value property="chargeAmount" data="Invoice/third-segment/charge-amount" default="null"/>
<jb:value property="monthlyRate" data="Invoice/third-segment/monthly-rate" default="null"/>
<jb:wiring property="endOfSegment" beanIdRef="Invoice.third-segment.end-of-segment_List" />
</jb:bean>
<jb:bean beanId="Invoice.third-segment.end-of-segment_List" class="java.util.ArrayList" createOnElement="Invoice/third-segment">
<jb:wiring beanIdRef="Invoice.third-segment.end-of-segment" />
</jb:bean>
<jb:bean beanId="Invoice.third-segment.end-of-segment" class="com.xxxxxxxxx.tempo.invoicereader.db.thameswater.vodafone.corporate.resources.EndOfSegment" createOnElement="Invoice/third-segment/end-of-segment">
<jb:value property="notApplicable" data="Invoice/third-segment/end-of-segment/not-applicable" default="null"/>
</jb:bean>
</smooks-resource-list>
THanks in advance
mond