小编rom*_*sub的帖子

用于处理大型XML的Java OO设计

我们正在设计一个处理XML消息的系统.

处理Java类需要从较大的XML中分离出各种属性和值,并将这些作为参数传递给各个处理程序类以进行各种操作.

我们考虑过以下选项:

一个)

将整个XML传递给每个处理程序并让它提取相关的位 - 但是觉得每次传递XML可能效率低下

B)

将XML转换为DTO或一组较小的DTO,并将每个DTO传递给相关的处理程序

C)

将XML剪切成片段并将其传递给每个处理程序方法

我们对这些中的每一个都不满意,所以有什么建议要走哪条路?

示例XML

 <IdAction>supplied</IdAction>
    <RegId>true</RegId>
    <DeRegId>false</DeRegId>
    <SaveMessage>false</SaveMessage>
    <ServiceName>abcRequest</ServiceName>
    <timeToPerform>3600</timeToPerform>
    <timeToReceipt/>
    <SendToBES>true</SendToBES>
    <BESQueueName>com.abc.gateway.JMSQueue.forAddRequest</BESQueueName>
    <BESTransform/>
    <BESJMSProperties>
        <property>
            <propName>stateCode</propName>
            <propValue>OK</propValue>
        </property>
    <property>
            <propName>stateResponse</propName>
            <propValue>OK</propValue>
        </property>
    </BESJMSProperties>
Run Code Online (Sandbox Code Playgroud)

这包含由4个处理程序处理的4个块

 <IdAction>supplied</IdAction>
    <RegId>true</RegId>
    <DeRegId>false</DeRegId>
Run Code Online (Sandbox Code Playgroud)

另一个

<timeToPerform>3600</timeToPerform>
    <timeToReceipt/>
Run Code Online (Sandbox Code Playgroud)

接下来呢

<SendToBES>true</SendToBES>
    <BESQueueName>com.abc.gateway.JMSQueue.forAddRequest</BESQueueName>
    <BESTransform/>
    <BESJMSProperties>
        <property>
            <propName>stateCode</propName>
            <propValue>OK</propValue>
        </property>
    <property>
            <propName>stateResponse</propName>
            <propValue>OK</propValue>
        </property>
    </BESJMSProperties>
Run Code Online (Sandbox Code Playgroud)

等等

java oop

8
推荐指数
2
解决办法
276
查看次数

Tomcat KeyStore环境路径

我们有以下示例:

< Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)

如何使"keystoreFile"指向环境变量?$ {env.CATALINA_HOME} /conf/file.jks对我不起作用.谢谢.

tomcat tomcat7

5
推荐指数
1
解决办法
4469
查看次数

怎么做Ibatis版本的show sql

是否有一个Ibatis设置来查看生成的SQL,就像Hibernate如何显示show_sql = true一样?

谢谢

java ibatis

4
推荐指数
1
解决办法
6654
查看次数

用于从包含数组中的单词的文件中删除行的Python脚本

我有以下脚本,它根据数组标识我要删除的文件中的行但不删除它们.

我应该改变什么?

sourcefile = "C:\\Python25\\PC_New.txt" 
filename2 = "C:\\Python25\\PC_reduced.txt"

offending = ["Exception","Integer","RuntimeException"]

def fixup( filename ): 
    print "fixup ", filename 
    fin = open( filename ) 
    fout = open( filename2 , "w") 
    for line in fin.readlines(): 
        for item in offending: 
                print "got one",line 
                line = line.replace( item, "MUST DELETE" ) 
                line=line.strip()
                fout.write(line)  
    fin.close() 
    fout.close() 

fixup(sourcefile)
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
7507
查看次数

如果循环处理效率

从处理或优化的角度来看,哪2个更好?

我觉得选项1更具可读性,但我被告知选项2更有效率.是这样吗?

if (value != null) {
    if (value.equalsIgnoreCase(ApplicationConstants.A)) {
    } else if (value.equalsIgnoreCase(ApplicationConstants.B)) {
    }
}
Run Code Online (Sandbox Code Playgroud)

选项2:

if ((value != null) && (value.equalsIgnoreCase(ApplicationConstants.A))) {

} else if ((value != null) && (value.equalsIgnoreCase(ApplicationConstants.B))) {

}
Run Code Online (Sandbox Code Playgroud)

java performance

0
推荐指数
1
解决办法
116
查看次数

标签 统计

java ×3

ibatis ×1

oop ×1

performance ×1

python ×1

tomcat ×1

tomcat7 ×1