一. Xslt处理xml单标签内多个值的情况
这两周在写一些xslt去处理用PDF box转换的PDF,其中遇到一个问题就是转换后的信息距离很近,所以再转xml的时候就很难把这些内容分开,就产生了多个单元信息在一个标签内的情况。比如这样的信息:
CONTAINER NOS : APZU3752470 20 8'6" ECMU9681010 40 9'6" FCIU5286448 20 8'6"
这种情况可以通过tokenize通过某个字符分隔每个单元,然后再循环处理,解析每个单元的信息:(其实后来感觉每一个单元还可以通过tokenize根据空格拆成每一个单词处理,应该会更合理)
需要注意的是,当一个标签内的信息类似于这样:
part1A part1B part2A part2B … part2n part3 …
那么即使按照空格分开,每一个part有多少单词也不能确认,这样的情况还是处理不了的。
二. 非XA Global transaction再简单梳理
当Weblogic全局事务设成非XA的时候,有三个模式可以选:
单次提交模式(默认):特别注意这种模式只能用于单数据源的场景下,当既要更新DB,又要发message的时候就会无法执行。
模拟两阶段提交:支持多数据源,设置成非XA的数据源执行的时候直接返回success,不会等待其commit。这样可以保证其他事务不受该事物执行结果影响。
LLR:与模拟量阶段提交比,LLR保证非XA事务提交成功,且先于其他事务完成。
三. DMZ与Internal
DMZ是在网络中设置的隔离区,在这一部分主要放置一些和外界间接交互的Server,比如FTP,Email…,这样相当于外界的信息要先进入隔离区,然后才能进入Internal,相当于多加了一层保护。具体一个设置要参考一下六条策略:
1.内网可以访问外网:内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。
2.内网可以访问DMZ:此策略是为了方便内网用户使用和管理DMZ中的服务器。
3.外网不能访问内网:很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。
4.外网可以访问DMZ:DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
5.DMZ访问内网有限制:很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。
6.DMZ不能访问外网