根据我的上一个问题,在帮助下,我成功地使用瘦客户端查找了部署在websphere中的ejb.
我还为入站和出站通信设置了SSL-Required.
为了结束我的测试,我想到使用Wireshark来捕获流量,以确保所有通信都通过SSL而不是TCP/IP进行,但令我惊讶的是,当我看到wireshark中的数据包时,它仍在使用TCP/IP和所有数据以文本格式传输.
我的理解是,一旦在传输层启用了"SSL-Required",所有通信和握手都应该通过SSL而不是TCP/IP进行.我的理解是否正确?
服务器配置:
客户样本:
public static void main(String args[]) throws NamingException {
Properties ejbProps = new Properties();
ejbProps.put("org.omg.CORBA.ORBClass", "com.ibm.CORBA.iiop.ORB");
ejbProps.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
ejbProps.put(Context.PROVIDER_URL, "corbaloc:iiop:160.XX.XX.XX:2809");
InitialContext ffmContext = new InitialContext(ejbProps);
Object remoteObject = ffmContext
.lookup("ejb/MyAppEar-CLUSTER/MyAppEJB.jar/BatchIdTrackingBean#indi.nh.business.framework.bos.di.BatchIdTrackingBeanRemote");
BatchIdTrackingBeanRemote serviceTester = (BatchIdTrackingBeanRemote) PortableRemoteObject
.narrow(remoteObject, BatchIdTrackingBeanRemote.class);
System.out.println(serviceTester);
}
Run Code Online (Sandbox Code Playgroud)
在这里,XXX126是我执行瘦客户端的客户端位置,XXX241是我的websphere应用服务器,我正在进行查找.
更新: 在分析更多时,我发现当我启用"SSL-Required"时,所有数据都通过TCP/IP传输但是它是加密的,我的理解是它应该在wireshark中显示为SSL而不是TCP,isn是吗?.当我将传输类型设置为仅"TCP/IP"时,通过GIOP传输数据,我可以看到文本格式的所有数据.
有人可以确认这个行为吗?
我刚刚开始使用spring和hibernate创建一个项目.我的DAO层类扩展了HibernateDaoSupport.我们没有使用注释.早些时候,我们使用的是struts,因此我们使用了Session类提供的getTransaction,commit,rollback ..方法.我的要求很简单,对于所有DAO类,如果有异常,则回滚否则提交.请提出一种介绍Spring事务管理的最简单方法.
我在Windows系统上创建了一个文本文件,我认为默认编码样式是ANSI,文件内容如下所示:
This is\u2019 a sample text file \u2014and it can ....
Run Code Online (Sandbox Code Playgroud)
我使用Windows的默认编码样式保存了这个文件,虽然也有UTF-8,UTF-16等编码样式.
现在我想写一个简单的java函数,我将传递一些输入字符串并用相应的ascii值替换所有的unicode.
例如: - \u2019 should be replaced with "'"
\u2014 should be replaced with "-" and so on.
观察: 当我创建一个像这样的字符串文字
String s = "This is\u2019 a sample text file \u2014and it can ....";
Run Code Online (Sandbox Code Playgroud)
我的代码工作正常,但是当我从文件中读取它时,它无法正常工作.我知道在Java String中使用UTF-16编码.
下面是我用来读取输入文件的代码.
FileReader fileReader = new FileReader(new File("C:\\input.txt"));
BufferedReader bufferedReader = new BufferedReader(fileReader)
String record = bufferedReader.readLine();
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用InputStream and setting the Charset to UTF-8,但结果仍然相同.
替换代码:
public static String removeUTFCharacters(String data){ …Run Code Online (Sandbox Code Playgroud) 我是Hadoop MapReduce的新手(确切地说是4天),我被要求在集群上执行分布式XML解析.根据我在互联网上的(重新)搜索,使用Mahout的XmlInputFormat应该相当容易,但我的任务是确保系统适用于大型(~5TB)XML文件.
据我所知,发送给映射器的文件拆分不能大于hdfs块大小(或每个作业块大小).[纠正我,如果我弄错了].
我面临的问题是一些XML元素很大(~200MB),有些很小(~1MB)
所以我的问题是:当XmlInputFormat创建的XML元素块大于块大小时会发生什么?它会将整个大文件(比方说200MB)发送给映射器还是将它发送出三个分区(64 + 64 + 64 + 8)?
我目前无法访问公司的hadoop集群(并且不会在某个时间之前),所以我无法执行测试并找出答案.请帮助我.
在这个程序中,我试图通过重写equals方法来比较两个引用变量值的字段值----这是代码----
public class D {
int i,j;
D(int i,int j)
{
this.i=i;
this.j=j;
}
public boolean equals(Object f)
{
boolean s= (this.i==((D)f).i);
boolean n= (this.j==((D)f).j);
return s==n;
}
}
public class run02 {
public static void main(String[] args){
D d=new D(4,5);
D d1=new D(6,7);
D d2=new D(8,10);
System.out.println(d.equals(d1));//comparing reference variable value
System.out.println(d1.equals(d2));//comparing reference variable value
System.out.println(d);//printing reference variable memory address
System.out.println((d==d1));//comparing reference variable memory address
}
}
Output-true//comparing reference variable value
true//comparing reference variable value
firstProg.e@g3h742//memory address
false//comparing reference variable …Run Code Online (Sandbox Code Playgroud)