我最近开始在虚拟通道上工作,并被要求将虚拟连接从2.21更新到3.6.1(最新的虚拟版本)。我面临的问题是,如果成功目的地状态对于版本2.2.1返回为SUCCESS,对于版本3.6.1返回为SENT。我们正在根据发送的状态更新数据库。由于存在这种差异,我必须在所有通道中更改代码。还有其他避免代码更改的方法吗?
答案 0 :(得分:0)
我认为您将不得不更改频道。
The upgrade guide并未专门解决您的问题。
消息状态由不再具有SUCCESS元素的类class Graph extends React.Component {
constructor(props) {
super(props);
this.state = { startTime:this.props.startTime,
endTime:this.props.endTime,
nodes:this.props.data
}
//console.log('graph data:', this.props.data)
}
componentDidMount() {
// console.log('nodes:', this.props.data)
this.force = d3.forceSimulation(this.state.nodes)
.force("charge",
d3.forceManyBody()
.strength(this.props.forceStrength)
)
.force("x", d3.forceX(this.props.width / 2))
.force("y", d3.forceY(this.props.height / 2));
this.force.on('tick', () => this.setState({data: this.props.data}));
console.log('setState:', this.props.data)
}
componentWillUnmount() {
this.force.stop();
}
render() {
// console.log('graph datas:', this.props.data)
return (
<svg width={this.props.width} height={this.props.height}>
{console.log('map data:', this.props.data)}
{Object.keys(this.props.data).map((node, index) =>(
<circle r={node.r} cx={node.x} cy={node.y} fill="red" key={index}/>
))}
</svg>
);
}//render
}//Component
export default graphql(getObjectsQuery,
{ options: (ownProps) => {
console.log(ownProps.startTime);
return ({ second: { startTime: ownProps.startTime,
endTime: ownProps.endTime
} })
} } )(Graph);
表示。
此JIRA entry for Mirth Connect的注释涉及相同的问题:
在Rhino中覆盖ScriptRuntime,以便我们可以检查用户何时尝试将驴状态与字符串进行比较。如果他们试图将状态与SUCCESS或FAILURE进行比较,则使用正确的字符串代替(SENT / ERROR),并记录服务器错误。如果他们试图与ACCEPTED或UNKNOWN进行比较,则会记录服务器错误,但相等性将始终返回false(因为这些状态不再存在)。
如果我正确地阅读了此说明,则可以通过导入软件包来保留一些较旧的功能。因此,即使您想保留代码,也必须进行更改以导入该程序包。如果仍然需要触摸代码,则最好更新为最新的3.x状态代码。