两个模块通信,使用的ICE中间件。单线程时测试没什么问题。多线程测试时,不一会就出现了。错误。网上找了下说有可能是粘包出现的问题。请问有人遇到相同的问题么。怎么解决
谢谢了。
Ice.MarshalException
reason = (null)
at IceInternal.BasicStream.writeString(BasicStream.java:1172)
at com.amg.ice.analysis.generated.FilterRequest.__write(FilterRequest.java:75)
at com.amg.ice.analysis.generated._ReceiveAndFilterDelM.execute(_ReceiveAndFilterDelM.java:35)
at com.amg.ice.analysis.generated.ReceiveAndFilterPrxHelper.execute(ReceiveAndFilterPrxHelper.java:53)
at com.amg.ice.analysis.generated.ReceiveAndFilterPrxHelper.execute(ReceiveAndFilterPrxHelper.java:28)
at com.amg.ice.analysis.client.DataAnalysisClient.doMain(DataAnalysisClient.java:45)
at com.amg.scheduler.StructuredHelper.sendStructured(StructuredHelper.java:34)
at com.amg.scheduler.StructuredHelper.structuredLogic(StructuredHelper.java:56)
at com.amg.scheduler.CommonScheduler.job(CommonScheduler.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:260)
at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:781)
at IceInternal.BasicStream.writeString(BasicStream.java:1168)
... 17 more
谢谢了。
Ice.MarshalException
reason = (null)
at IceInternal.BasicStream.writeString(BasicStream.java:1172)
at com.amg.ice.analysis.generated.FilterRequest.__write(FilterRequest.java:75)
at com.amg.ice.analysis.generated._ReceiveAndFilterDelM.execute(_ReceiveAndFilterDelM.java:35)
at com.amg.ice.analysis.generated.ReceiveAndFilterPrxHelper.execute(ReceiveAndFilterPrxHelper.java:53)
at com.amg.ice.analysis.generated.ReceiveAndFilterPrxHelper.execute(ReceiveAndFilterPrxHelper.java:28)
at com.amg.ice.analysis.client.DataAnalysisClient.doMain(DataAnalysisClient.java:45)
at com.amg.scheduler.StructuredHelper.sendStructured(StructuredHelper.java:34)
at com.amg.scheduler.StructuredHelper.structuredLogic(StructuredHelper.java:56)
at com.amg.scheduler.CommonScheduler.job(CommonScheduler.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:260)
at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:781)
at IceInternal.BasicStream.writeString(BasicStream.java:1168)
... 17 more