WSO2 ESB XSLT介体创建临时文件(从不清理)

时间:2013-09-06 12:39:56

标签: xslt wso2 esb wso2esb synapse

我在Windows上使用WSO2 ESB 4.5.1。 我的问题是临时文件夹WSO2_HOME/tmp正在成长,从未清理过。

我发现问题来自 xslt中介,每次变换一个大的xml文件(~15kb)时都会创建一个新的临时文件。

有没有人知道为什么不清理这些tmp文件?

代理:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="input" transports="vfs" startOnLoad="true" trace="disable">
    <parameter name="transport.PollInterval">5</parameter>
    <parameter name="transport.vfs.FileURI">vfs:file://C:/WSO2/Test/From</parameter>
    <parameter name="transport.vfs.FileNamePattern">.*[.].*</parameter>
    <parameter name="transport.vfs.ContentType">application/xml</parameter>
    <target faultSequence="errorSequence">
        <inSequence>
            <log level="full"/>
            <property name="ClientApiNonBlocking" scope="axis2" action="remove"/>
            <property name="OUT_ONLY" value="true"/>   
            <xslt key="avintis_xml_indent"/>
            <property name="transport.vfs.ReplyFileName" expression="fn:concat('out_', $trp:FILE_NAME, '.xml')" scope="transport"/>
            <send>
                <endpoint>
                    <address uri="vfs:file://C:/WSO2/Test/To"/>
                </endpoint>
            </send>
        </inSequence>
    </target>
</proxy>

XSLT:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:avintis="http://www.avintis.com/esb"
  xmlns:urn="urn:hl7-org:v2xml" version="2.0"
  xmlns:payload="http://ws.apache.org/commons/ns/payload">
  <xsl:output method="xml" encoding="UTF-8" indent="yes"/>

  <xsl:template match="*|text()|@*">
    <xsl:copy>
      <xsl:apply-templates select="*|text()|@*"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

inputfile中:

any xml file bigger than ~15kb

1 个答案:

答案 0 :(得分:1)

HouseKeeping Task似乎没有清除临时文件。要使用内务处理任务清理它们,您可以在Carbon.xml中对其进行配置,如下所示。

   <WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>

   <HouseKeeping>

       <AutoStart>true</AutoStart>

       <Interval>10</Interval>

       <MaxTempFileLifetime>30</MaxTempFileLifetime>
   </HouseKeeping>