Info*Engine Task

本文探讨了JSP页面与Info*Engine在Windchill环境中的应用对比,重点介绍了Info*Engine的任务执行方式、优势及Webject参数的详细解析。通过具体示例,展示了如何利用Info*Engine进行复杂的数据查询与展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSP页面

<%@page language="java"%>
<%@page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>

<ie:webject name="Query-Objects" type="OBJ">
	<ie:param name="INSTANCE" data="com.xxx.xxx.Windchill"/>
	<ie:param name="TYPE" data="wt.part.WTPart"/>
	<ie:param name="ATTRIBUTE" data="name"/>
	<ie:param name="ATTRIBUTE" data="number"/>
	<ie:param name="WHERE" data="()"/>
	<ie:param name="GROUP_OUT" data="parts"/>
</ie:webject>

<ie:webject name="Display-Table" type="DSP">
	<ie:param name="GROUP_IN" data="parts"/>
	<ie:param name="BORDER" data="1"/>
	<ie:param name="ATTRIBUTE" data="name,number" delim=","/>
	<ie:param name="HEADER" data="名称,编号" delim=","/>
</ie:webject>

JSP与Info*Engine任务执行对比
页面的执行方式类似。二者均包含加载类的缓存,并且都能够检查该缓存是否存在更新,但是,他们之间存在一些显著差异:

1 JSP页面始终在servlet引擎中执行。
2 Info*Engine任务也可以在servlet引擎中执行,但通常都在Windchill方法服务器中执行

Info*Engine的好处

1 业务逻辑与显示分开。通过Info*Engine查询处理业务数据,而不是将逻辑处理代码写在JSP代码中

2 使用更加灵活,JSP唯一的处理方式,通过发送HTTP请求,将请求发送Web服务器,再转至servlet引擎。而Info*Engine调用任务的方式是多种多样的,包括JSP,JAVA,SOAP,Windchill工作流和JMS

参数详解

名称属性指定要执行的Info*Engine Webject

<ie:webject name="Query-Objects" type="OBJ">
	<ie:param name="INSTANCE" data="com.glaway.pdm.Windchill"/>
	<ie:param name="TYPE" data="wt.part.WTPart"/>
	<ie:param name="ATTRIBUTE" data="name"/>
	<ie:param name="ATTRIBUTE" data="number"/>
	<ie:param name="WHERE" data="partType=component"/>
	<ie:param name="GROUP_OUT" data="parts"/>
</ie:webject>

Webject名称-详细描述参见《Windchill Adapter Gide》和《Info*Engine User’s Guide》
Query-Objects
Display-Table
Return-Groups

Webject类型
类型指出当前使用的webject的类型,通常action、query和group webject称为任务Webject,因为这些webject用于收集和操控数据。Display和image webject用于显示数据,因此只能在jsp页面中使用,而无法在业务任务中使用
……
Webject参数-详细描述参见《Windchill Adapter Gide》和《Info*Engine User’s Guide》
必须参数,如实例INSTANCE
可选参数,如where,group_out

INSTANCE参数
引用正在访问的适配器的服务名称。
此名称可在Info*Engine管理器中找到

TYPE参数- TYPE参数引用Windchill中当前查询的对象类型
可以是Windchill中模型化类型,如wt.part.WTPart。
也可以是可变类型。可变类型由"类型管理器"中的逻辑标识符引用。

注:TYPE是Windchill适配器特有参数。在JDBC适配器中,用CLASS参数指定查询的表格,JNDI适配器中,使用BASE参数指定查询的对象。

ATTRIBUTE参数
指定返回那些属性,此示例中,仅返回部件名称和编号。

Delmi属性
Delmi属性还可以用于其他多值参数。如webject具有两个where参数,则可以使用delmi属性分隔这两个参数。

WHERE参数
仅返回符合条件的对象,与SQL中使用条件相似。

注:在Windchill适配器中,如果当前搜索的值包含空格,则必须将该值引在单引号中。如<ie:param name="WHERE" data="containerName=‘Icon Library’"/>

GROUP_OUT参数
Webject会以Info*Engine XML的格式精确创建一个组。GROUP_OUT参数指定组的名称,这样便于在任务内的后续webject中引用它。
如未指定,将按默认名称。


//Webject示例
//次任务检索用户所有有权限访问的WTPart
<ie:webject name="Query-Objects" type="OBJ">
	<ie:param name="INSTANCE" data="com.glaway.pdm.Windchill"/>
	<ie:param name="TYPE" data="wt.part.WTPart"/>
	<ie:param name="WHERE" data="()"/>
	<ie:param name="GROUP_OUT" data="parts"/>
</ie:webject>

Info*Engine Task任务发布

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>

<ie:webject name="Query-Objects" type="OBJ">
    <ie:param name="INSTANCE" data="com.xxx.pdm.WindChill"/>
    <ie:param name="TYPE" data="wt.part.WTPart"/>
    <ie:param name="ATTRIBUTE" data="name"/>
    <ie:param name="ATTRIBUTE" data="number"/>
     <ie:param name="ATTRIBUTE" data="state.state"/>
    <ie:param name="WHERE" data="()"/>
    <ie:param name="GROUP_OUT" data="parts"/>
</ie:webject>

<ie:webject name="Display-Table" type="DSP">
    <ie:param name="GROUP_IN" data="parts"/>
    <ie:param name="BORDER" data="1"/>
    <ie:param name="ATTRIBUTE" data="name,number,state.state" delim=","/>
    <ie:param name="HEADER" data="名称,编号" delim=","/>
</ie:webject>
	public static void webSeriviceTask() throws Exception {
		String address = "http://pdm.xxx.com/Windchill/servlet/TestService?wsdl"; 
		String namespaceURI = "http://ws.glaway.com/"; 
		String methodName = "hello"; // WebService方法名称 
		Object[] parameters = new Object[] {"ZhangSan" };// 参数值 
		Class[] returnTypes = new Class[] { String.class };// 返回值数据类型 
		RPCServiceClient client = new RPCServiceClient(); 
		Options options = client.getOptions(); 
		if (options == null) { options = new Options(); } 
		EndpointReference targetEPR = new EndpointReference(address); 
		options.setTo(targetEPR); 
		HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator(); basicAuth.setPreemptiveAuthentication(true); 
		basicAuth.setUsername("wcadmin");//设置用户名 
		basicAuth.setPassword("wcadmin");//设置密码 
		options.setProperty(HTTPConstants.AUTHENTICATE, basicAuth); 
		options.setProperty(HTTPConstants.CHUNKED, "false"); 
		client.setOptions(options); 
		QName opName = new QName(namespaceURI, methodName); 
		Object[] result = client.invokeBlocking(opName, parameters, returnTypes); 
		if (result != null && result.length > 0) { 
			System.out.println(result[0]); // 输出返回结果 
		}	
	}
}

调用验证-访问如下地址,将出现名称为自己定义名称的opration。
http://pdm.xxx.com/Windchill/servlet/RPC?CLASS=com.infoengine.soap

[LOG-PATH]: /opt/dolphinscheduler/logs/20250813/149117592763872/19/4067/8582.log, [HOST]: 192.168.161.8:1234 [INFO] 2025-08-13 18:45:50.593 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.594 +0800 - ********************************* Initialize task context *********************************** [INFO] 2025-08-13 18:45:50.594 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.594 +0800 - Begin to initialize task [INFO] 2025-08-13 18:45:50.594 +0800 - Set task startTime: 1755081950594 [INFO] 2025-08-13 18:45:50.594 +0800 - Set task appId: 4067_8582 [INFO] 2025-08-13 18:45:50.595 +0800 - End initialize task { "taskInstanceId" : 8582, "taskName" : "stg_product_info_label", "firstSubmitTime" : 1755081950589, "startTime" : 1755081950594, "taskType" : "DATAX", "workflowInstanceHost" : "192.168.161.8:5678", "host" : "192.168.161.8:1234", "logPath" : "/opt/dolphinscheduler/logs/20250813/149117592763872/19/4067/8582.log", "processId" : 0, "processDefineCode" : 149117592763872, "processDefineVersion" : 19, "processInstanceId" : 4067, "scheduleTime" : 0, "executorId" : 1, "cmdTypeIfComplement" : 0, "tenantCode" : "default", "processDefineId" : 0, "projectId" : 0, "projectCode" : 148534792059360, "taskParams" : "{\"localParams\":[],\"resourceList\":[],\"customConfig\":1,\"json\":\"{\\r\\n \\\"job\\\": {\\r\\n \\\"setting\\\": {\\r\\n \\\"speed\\\": {\\r\\n \\\"channel\\\": 3,\\r\\n \\\"byte\\\": 104857600\\r\\n },\\r\\n \\\"errorLimit\\\": {\\r\\n \\\"record\\\": 0,\\r\\n \\\"percentage\\\": 0.02\\r\\n }\\r\\n },\\r\\n\\r\\n \\\"content\\\": [\\r\\n {\\r\\n \\\"reader\\\": {\\r\\n \\\"name\\\": \\\"sqlserverreader\\\",\\r\\n \\\"parameter\\\": {\\r\\n \\\"username\\\": \\\"erp_app\\\",\\r\\n \\\"password\\\": \\\"znZsr1I3e!H)6PjFbN\\\",\\r\\n \\\"column\\\": [\\r\\n \\\"ID\\\",\\r\\n \\\"PlanWarehouse\\\",\\r\\n \\\"MarketingID\\\",\\r\\n \\\"Account\\\",\\r\\n \\\"LabelSKU\\\",\\r\\n \\\"SKU\\\",\\r\\n \\\"Status\\\",\\r\\n \\\"ASIN\\\",\\r\\n \\\"FNSKU\\\",\\r\\n \\\"IsCalStock\\\",\\r\\n \\\"CreateDate\\\",\\r\\n \\\"Qty\\\",\\r\\n \\\"WholesalingTime\\\",\\r\\n \\\"LastUpdateTime\\\",\\r\\n \\\"FulfillmentChannel\\\",\\r\\n \\\"ListingStatus\\\",\\r\\n \\\"SaleItemID\\\",\\r\\n \\\"Channel\\\",\\r\\n \\\"OldLabelSKU\\\",\\r\\n \\\"DeliveryType\\\",\\r\\n \\\"PackageType\\\",\\r\\n \\\"RemoteFulfillment\\\",\\r\\n \\\"DeliveryMode\\\",\\r\\n \\\"DeliveryModeUpdateUser\\\",\\r\\n \\\"DeliveryModeUpdateTime\\\",\\r\\n \\\"StatusUpdateTime\\\",\\r\\n \\\"IsInternal\\\"\\r\\n ],\\r\\n \\\"connection\\\": [\\r\\n {\\r\\n \\\"jdbcUrl\\\": \\\"jdbc:sqlserver://192.168.161.2:55001;databaseName=OceaniaERP\\\",\\r\\n \\\"table\\\": [\\\"OC_Product_Info_Label\\\"],\\r\\n \\\"where\\\": \\\"1 = 1\\\"\\r\\n }\\r\\n ],\\r\\n \\\"fetchSize\\\": 1024\\r\\n }\\r\\n },\\r\\n \\\"writer\\\": {\\r\\n \\\"name\\\": \\\"doriswriter\\\",\\r\\n \\\"parameter\\\": {\\r\\n \\\"username\\\": \\\"root\\\",\\r\\n \\\"password\\\": \\\"\\\",\\r\\n \\\"database\\\": \\\"bi_finance\\\",\\r\\n \\\"table\\\": \\\"stg_product_info_label\\\",\\r\\n \\\"column\\\": [\\r\\n \\\"ID\\\",\\r\\n \\\"PlanWarehouse\\\",\\r\\n \\\"MarketingID\\\",\\r\\n \\\"Account\\\",\\r\\n \\\"LabelSKU\\\",\\r\\n \\\"SKU\\\",\\r\\n \\\"Status\\\",\\r\\n \\\"ASIN\\\",\\r\\n \\\"FNSKU\\\",\\r\\n \\\"IsCalStock\\\",\\r\\n \\\"CreateDate\\\",\\r\\n \\\"Qty\\\",\\r\\n \\\"WholesalingTime\\\",\\r\\n \\\"LastUpdateTime\\\",\\r\\n \\\"FulfillmentChannel\\\",\\r\\n \\\"ListingStatus\\\",\\r\\n \\\"SaleItemID\\\",\\r\\n \\\"Channel\\\",\\r\\n \\\"OldLabelSKU\\\",\\r\\n \\\"DeliveryType\\\",\\r\\n \\\"PackageType\\\",\\r\\n \\\"RemoteFulfillment\\\",\\r\\n \\\"DeliveryMode\\\",\\r\\n \\\"DeliveryModeUpdateUser\\\",\\r\\n \\\"DeliveryModeUpdateTime\\\",\\r\\n \\\"StatusUpdateTime\\\",\\r\\n \\\"IsInternal\\\"\\r\\n ],\\r\\n \\\"preSql\\\": [\\r\\n \\\"TRUNCATE TABLE stg_product_info_label \\\"\\r\\n ],\\r\\n \\\"postSql\\\": [],\\r\\n \\\"jdbcUrl\\\": \\\"jdbc:mysql://192.168.161.6:9030/\\\",\\r\\n \\\"feLoadUrl\\\": [\\\"192.168.161.6:8030\\\"],\\r\\n \\\"maxBatchRows\\\": 500000,\\r\\n \\\"maxBatchByteSize\\\": 104857600,\\r\\n \\\"lineDelimiter\\\": \\\"\\\\\\\\x02\\\"\\r\\n }\\r\\n }\\r\\n }\\r\\n ]\\r\\n }\\r\\n}\",\"xms\":1,\"xmx\":1}", "environmentConfig" : "export DATAX_HOME=${DATAX_HOME:-/opt/soft/datax}\nexport PYTHON_HOME=/opt/python/py385\nexport PYTHON_LAUNCHER=/opt/python/py385/bin/python\nexport DATAX_LAUNCHER=/opt/soft/datax/bin/datax.py\nexport JAVA_HOME=/opt/java/openjdk/\nexport PATH=$PYTHON_HOME/bin/python:$DATAX_HOME/bin:$JAVA_HOME/bin:/usr/bin", "prepareParamsMap" : { "system.task.definition.name" : { "prop" : "system.task.definition.name", "direct" : "IN", "type" : "VARCHAR", "value" : "stg_product_info_label" }, "system.project.name" : { "prop" : "system.project.name", "direct" : "IN", "type" : "VARCHAR", "value" : null }, "system.project.code" : { "prop" : "system.project.code", "direct" : "IN", "type" : "VARCHAR", "value" : "148534792059360" }, "system.workflow.instance.id" : { "prop" : "system.workflow.instance.id", "direct" : "IN", "type" : "VARCHAR", "value" : "4067" }, "system.biz.curdate" : { "prop" : "system.biz.curdate", "direct" : "IN", "type" : "VARCHAR", "value" : "20250813" }, "system.biz.date" : { "prop" : "system.biz.date", "direct" : "IN", "type" : "VARCHAR", "value" : "20250812" }, "system.task.instance.id" : { "prop" : "system.task.instance.id", "direct" : "IN", "type" : "VARCHAR", "value" : "8582" }, "system.workflow.definition.name" : { "prop" : "system.workflow.definition.name", "direct" : "IN", "type" : "VARCHAR", "value" : "stg_product_info_label" }, "system.task.definition.code" : { "prop" : "system.task.definition.code", "direct" : "IN", "type" : "VARCHAR", "value" : "149117390890464" }, "system.workflow.definition.code" : { "prop" : "system.workflow.definition.code", "direct" : "IN", "type" : "VARCHAR", "value" : "149117592763872" }, "system.datetime" : { "prop" : "system.datetime", "direct" : "IN", "type" : "VARCHAR", "value" : "20250813184550" } }, "taskAppId" : "4067_8582", "taskTimeout" : 2147483647, "workerGroup" : "default", "delayTime" : 0, "currentExecutionStatus" : "SUBMITTED_SUCCESS", "resourceParametersHelper" : { "resourceMap" : { } }, "endTime" : 0, "varPool" : "[]", "dryRun" : 0, "paramsMap" : { }, "cpuQuota" : -1, "memoryMax" : -1, "testFlag" : 0, "logBufferEnable" : false, "dispatchFailTimes" : 0 } [INFO] 2025-08-13 18:45:50.595 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.595 +0800 - ********************************* Load task instance plugin ********************************* [INFO] 2025-08-13 18:45:50.595 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.597 +0800 - Send task status RUNNING_EXECUTION master: 192.168.161.8:1234 [INFO] 2025-08-13 18:45:50.597 +0800 - Current tenant is default tenant, will use bootstrap user: root to execute the task [INFO] 2025-08-13 18:45:50.597 +0800 - TenantCode: root check successfully [INFO] 2025-08-13 18:45:50.597 +0800 - WorkflowInstanceExecDir: /tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582 check successfully [INFO] 2025-08-13 18:45:50.597 +0800 - Create TaskChannel: org.apache.dolphinscheduler.plugin.task.datax.DataxTaskChannel successfully [INFO] 2025-08-13 18:45:50.597 +0800 - Download resources successfully: ResourceContext(resourceItemMap={}) [INFO] 2025-08-13 18:45:50.597 +0800 - Download upstream files: [] successfully [INFO] 2025-08-13 18:45:50.598 +0800 - Task plugin instance: DATAX create successfully [INFO] 2025-08-13 18:45:50.598 +0800 - Initialize datax task params { "localParams" : [ ], "varPool" : [ ], "customConfig" : 1, "json" : "{\r\n \"job\": {\r\n \"setting\": {\r\n \"speed\": {\r\n \"channel\": 3,\r\n \"byte\": 104857600\r\n },\r\n \"errorLimit\": {\r\n \"record\": 0,\r\n \"percentage\": 0.02\r\n }\r\n },\r\n\r\n \"content\": [\r\n {\r\n \"reader\": {\r\n \"name\": \"sqlserverreader\",\r\n \"parameter\": {\r\n \"username\": \"erp_app\",\r\n \"password\": \"znZsr1I3e!H)6PjFbN\",\r\n \"column\": [\r\n \"ID\",\r\n \"PlanWarehouse\",\r\n \"MarketingID\",\r\n \"Account\",\r\n \"LabelSKU\",\r\n \"SKU\",\r\n \"Status\",\r\n \"ASIN\",\r\n \"FNSKU\",\r\n \"IsCalStock\",\r\n \"CreateDate\",\r\n \"Qty\",\r\n \"WholesalingTime\",\r\n \"LastUpdateTime\",\r\n \"FulfillmentChannel\",\r\n \"ListingStatus\",\r\n \"SaleItemID\",\r\n \"Channel\",\r\n \"OldLabelSKU\",\r\n \"DeliveryType\",\r\n \"PackageType\",\r\n \"RemoteFulfillment\",\r\n \"DeliveryMode\",\r\n \"DeliveryModeUpdateUser\",\r\n \"DeliveryModeUpdateTime\",\r\n \"StatusUpdateTime\",\r\n \"IsInternal\"\r\n ],\r\n \"connection\": [\r\n {\r\n \"jdbcUrl\": \"jdbc:sqlserver://192.168.161.2:55001;databaseName=OceaniaERP\",\r\n \"table\": [\"OC_Product_Info_Label\"],\r\n \"where\": \"1 = 1\"\r\n }\r\n ],\r\n \"fetchSize\": 1024\r\n }\r\n },\r\n \"writer\": {\r\n \"name\": \"doriswriter\",\r\n \"parameter\": {\r\n \"username\": \"root\",\r\n \"password\": \"\",\r\n \"database\": \"bi_finance\",\r\n \"table\": \"stg_product_info_label\",\r\n \"column\": [\r\n \"ID\",\r\n \"PlanWarehouse\",\r\n \"MarketingID\",\r\n \"Account\",\r\n \"LabelSKU\",\r\n \"SKU\",\r\n \"Status\",\r\n \"ASIN\",\r\n \"FNSKU\",\r\n \"IsCalStock\",\r\n \"CreateDate\",\r\n \"Qty\",\r\n \"WholesalingTime\",\r\n \"LastUpdateTime\",\r\n \"FulfillmentChannel\",\r\n \"ListingStatus\",\r\n \"SaleItemID\",\r\n \"Channel\",\r\n \"OldLabelSKU\",\r\n \"DeliveryType\",\r\n \"PackageType\",\r\n \"RemoteFulfillment\",\r\n \"DeliveryMode\",\r\n \"DeliveryModeUpdateUser\",\r\n \"DeliveryModeUpdateTime\",\r\n \"StatusUpdateTime\",\r\n \"IsInternal\"\r\n ],\r\n \"preSql\": [\r\n \"TRUNCATE TABLE stg_product_info_label \"\r\n ],\r\n \"postSql\": [],\r\n \"jdbcUrl\": \"jdbc:mysql://192.168.161.6:9030/\",\r\n \"feLoadUrl\": [\"192.168.161.6:8030\"],\r\n \"maxBatchRows\": 500000,\r\n \"maxBatchByteSize\": 104857600,\r\n \"lineDelimiter\": \"\\\\x02\"\r\n }\r\n }\r\n }\r\n ]\r\n }\r\n}", "dsType" : null, "dataSource" : 0, "dtType" : null, "dataTarget" : 0, "sql" : null, "targetTable" : null, "preStatements" : null, "postStatements" : null, "jobSpeedByte" : 0, "jobSpeedRecord" : 0, "xms" : 1, "xmx" : 1, "resourceList" : [ ] } [INFO] 2025-08-13 18:45:50.598 +0800 - Success initialized task plugin instance successfully [INFO] 2025-08-13 18:45:50.598 +0800 - Set taskVarPool: [] successfully [INFO] 2025-08-13 18:45:50.598 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.598 +0800 - ********************************* Execute task instance ************************************* [INFO] 2025-08-13 18:45:50.598 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:50.599 +0800 - Final Shell file is: [INFO] 2025-08-13 18:45:50.599 +0800 - ****************************** Script Content ***************************************************************** [INFO] 2025-08-13 18:45:50.599 +0800 - #!/bin/bash BASEDIR=$(cd `dirname $0`; pwd) cd $BASEDIR export DATAX_HOME=${DATAX_HOME:-/opt/soft/datax} export PYTHON_HOME=/opt/python/py385 export PYTHON_LAUNCHER=/opt/python/py385/bin/python export DATAX_LAUNCHER=/opt/soft/datax/bin/datax.py export JAVA_HOME=/opt/java/openjdk/ export PATH=$PYTHON_HOME/bin/python:$DATAX_HOME/bin:$JAVA_HOME/bin:/usr/bin ${PYTHON_LAUNCHER} ${DATAX_LAUNCHER} --jvm="-Xms1G -Xmx1G" -p "-Dsystem.task.definition.name='stg_product_info_label' -Dsystem.project.name='null' -Dsystem.project.code='148534792059360' -Dsystem.workflow.instance.id='4067' -Dsystem.biz.curdate='20250813' -Dsystem.biz.date='20250812' -Dsystem.task.instance.id='8582' -Dsystem.workflow.definition.name='stg_product_info_label' -Dsystem.task.definition.code='149117390890464' -Dsystem.workflow.definition.code='149117592763872' -Dsystem.datetime='20250813184550'" /tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582/4067_8582_job.json [INFO] 2025-08-13 18:45:50.600 +0800 - ****************************** Script Content ***************************************************************** [INFO] 2025-08-13 18:45:50.600 +0800 - Executing shell command : bash /tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582/4067_8582.sh [INFO] 2025-08-13 18:45:50.602 +0800 - process start, process id is: 1728 [INFO] 2025-08-13 18:45:51.602 +0800 - -> DataX (DATAX-OPENSOURCE-3.0), From Alibaba ! Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved. 2025-08-13 18:45:51.018 [main] INFO MessageSource - JVM TimeZone: GMT+08:00, Locale: zh_CN 2025-08-13 18:45:51.019 [main] INFO MessageSource - use Locale: zh_CN timeZone: sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] 2025-08-13 18:45:51.040 [main] INFO VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl 2025-08-13 18:45:51.044 [main] INFO Engine - the machine info => osInfo: Linux amd64 6.8.0-31-generic jvmInfo: Temurin 1.8 25.412-b08 cpu num: 8 totalPhysicalMemory: -0.00G freePhysicalMemory: -0.00G maxFileDescriptorCount: -1 currentOpenFileDescriptorCount: -1 GC Names [PS MarkSweep, PS Scavenge] MEMORY_NAME | allocation_size | init_size PS Eden Space | 256.00MB | 256.00MB Code Cache | 240.00MB | 2.44MB Compressed Class Space | 1,024.00MB | 0.00MB PS Survivor Space | 42.50MB | 42.50MB PS Old Gen | 683.00MB | 683.00MB Metaspace | -0.00MB | 0.00MB 2025-08-13 18:45:51.055 [main] INFO Engine - { "setting":{ "speed":{ "channel":3, "byte":104857600 }, "errorLimit":{ "record":0, "percentage":0.02 } }, "content":[ { "reader":{ "name":"sqlserverreader", "parameter":{ "username":"erp_app", "password":"******************", "column":[ "ID", "PlanWarehouse", "MarketingID", "Account", "LabelSKU", "SKU", "Status", "ASIN", "FNSKU", "IsCalStock", "CreateDate", "Qty", "WholesalingTime", "LastUpdateTime", "FulfillmentChannel", "ListingStatus", "SaleItemID", "Channel", "OldLabelSKU", "DeliveryType", "PackageType", "RemoteFulfillment", "DeliveryMode", "DeliveryModeUpdateUser", "DeliveryModeUpdateTime", "StatusUpdateTime", "IsInternal" ], "connection":[ { "jdbcUrl":"jdbc:sqlserver://192.168.161.2:55001;databaseName=OceaniaERP", "table":[ "OC_Product_Info_Label" ], "where":"1 = 1" } ], "fetchSize":1024 } }, "writer":{ "name":"doriswriter", "parameter":{ "username":"root", "password":"", "database":"bi_finance", "table":"stg_product_info_label", "column":[ "ID", "PlanWarehouse", "MarketingID", "Account", "LabelSKU", "SKU", "Status", "ASIN", "FNSKU", "IsCalStock", "CreateDate", "Qty", "WholesalingTime", "LastUpdateTime", "FulfillmentChannel", "ListingStatus", "SaleItemID", "Channel", "OldLabelSKU", "DeliveryType", "PackageType", "RemoteFulfillment", "DeliveryMode", "DeliveryModeUpdateUser", "DeliveryModeUpdateTime", "StatusUpdateTime", "IsInternal" ], "preSql":[ "TRUNCATE TABLE stg_product_info_label " ], "postSql":[ ], "jdbcUrl":"jdbc:mysql://192.168.161.6:9030/", "feLoadUrl":[ "192.168.161.6:8030" ], "maxBatchRows":500000, "maxBatchByteSize":104857600, "lineDelimiter":"\\x02" } } } ] } 2025-08-13 18:45:51.068 [main] INFO PerfTrace - PerfTrace traceId=job_-1, isEnable=false 2025-08-13 18:45:51.069 [main] INFO JobContainer - DataX jobContainer starts job. 2025-08-13 18:45:51.069 [main] INFO JobContainer - Set jobId = 0 2025-08-13 18:45:51.081 [job-0] ERROR JobContainer - Exception when job run java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List at com.alibaba.datax.common.util.Configuration.getList(Configuration.java:435) ~[datax-common-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.dealJdbcAndTable(OriginalConfPretreatmentUtil.java:85) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.simplifyConf(OriginalConfPretreatmentUtil.java:59) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:33) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Job.init(CommonRdbmsReader.java:55) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.plugin.reader.sqlserverreader.SqlServerReader$Job.init(SqlServerReader.java:40) ~[sqlserverreader-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:673) ~[datax-core-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:303) ~[datax-core-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) ~[datax-core-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.Engine.start(Engine.java:86) [datax-core-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.Engine.entry(Engine.java:168) [datax-core-0.0.1-SNAPSHOT.jar:na] at com.alibaba.datax.core.Engine.main(Engine.java:201) [datax-core-0.0.1-SNAPSHOT.jar:na] 2025-08-13 18:45:51.084 [job-0] INFO StandAloneJobContainerCommunicator - Total 0 records, 0 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.000s | All Task WaitReaderTime 0.000s | Percentage 0.00% 2025-08-13 18:45:51.085 [job-0] ERROR Engine - 经DataX智能分析,该任务最可能的错误原因是: com.alibaba.datax.common.exception.DataXException: Code:[Framework-02], Description:[DataX引擎运行过程出错,具体原因请参看DataX运行结束时的错误诊断信息 .]. - java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List at com.alibaba.datax.common.util.Configuration.getList(Configuration.java:435) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.dealJdbcAndTable(OriginalConfPretreatmentUtil.java:85) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.simplifyConf(OriginalConfPretreatmentUtil.java:59) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:33) at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Job.init(CommonRdbmsReader.java:55) at com.alibaba.datax.plugin.reader.sqlserverreader.SqlServerReader$Job.init(SqlServerReader.java:40) at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:673) at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:303) at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) at com.alibaba.datax.core.Engine.start(Engine.java:86) at com.alibaba.datax.core.Engine.entry(Engine.java:168) at com.alibaba.datax.core.Engine.main(Engine.java:201) - java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List at com.alibaba.datax.common.util.Configuration.getList(Configuration.java:435) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.dealJdbcAndTable(OriginalConfPretreatmentUtil.java:85) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.simplifyConf(OriginalConfPretreatmentUtil.java:59) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:33) at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Job.init(CommonRdbmsReader.java:55) at com.alibaba.datax.plugin.reader.sqlserverreader.SqlServerReader$Job.init(SqlServerReader.java:40) at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:673) at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:303) at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) at com.alibaba.datax.core.Engine.start(Engine.java:86) at com.alibaba.datax.core.Engine.entry(Engine.java:168) at com.alibaba.datax.core.Engine.main(Engine.java:201) at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:48) at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:162) at com.alibaba.datax.core.Engine.start(Engine.java:86) at com.alibaba.datax.core.Engine.entry(Engine.java:168) at com.alibaba.datax.core.Engine.main(Engine.java:201) Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List at com.alibaba.datax.common.util.Configuration.getList(Configuration.java:435) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.dealJdbcAndTable(OriginalConfPretreatmentUtil.java:85) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.simplifyConf(OriginalConfPretreatmentUtil.java:59) at com.alibaba.datax.plugin.rdbms.reader.util.OriginalConfPretreatmentUtil.doPretreatment(OriginalConfPretreatmentUtil.java:33) at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Job.init(CommonRdbmsReader.java:55) at com.alibaba.datax.plugin.reader.sqlserverreader.SqlServerReader$Job.init(SqlServerReader.java:40) at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:673) at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:303) at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) ... 3 more [INFO] 2025-08-13 18:45:51.604 +0800 - process has exited. execute path:/tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582, processId:1728 ,exitStatusCode:1 ,processWaitForStatus:true ,processExitValue:1 [INFO] 2025-08-13 18:45:51.604 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:51.604 +0800 - ********************************* Finalize task instance ************************************ [INFO] 2025-08-13 18:45:51.604 +0800 - *********************************************************************************************** [INFO] 2025-08-13 18:45:51.605 +0800 - Upload output files: [] successfully [INFO] 2025-08-13 18:45:51.606 +0800 - Send task execute status: FAILURE to master : 192.168.161.8:1234 [INFO] 2025-08-13 18:45:51.606 +0800 - Remove the current task execute context from worker cache [INFO] 2025-08-13 18:45:51.606 +0800 - The current execute mode isn't develop mode, will clear the task execute file: /tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582 [INFO] 2025-08-13 18:45:51.606 +0800 - Success clear the task execute file: /tmp/dolphinscheduler/exec/process/root/148534792059360/149117592763872_19/4067/8582 [INFO] 2025-08-13 18:45:51.606 +0800 - FINALIZE_SESSION
最新发布
08-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值