when i run client application via webstart,i found the data can not got from server.The configuration files and some codes as follows:
clientContext.xml:
remoting-servlet.xml:Code:<bean id="depotSubFrameManager" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean"><property name="serviceUrl"><value>http://${serverName}:${httpPort${contextPath}/remoting/DepotSubFrameManager</value></property> <property name="serviceInterface"> <value>com.jctx.trms.hibernate.bussiness.DepotSubFrameManager</value></property> </bean>applicationContext.xml:Code:<bean name="/DepotSubFrameManager" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"> <property name="service"> <ref bean="depotSubFrameManager"/> </property> <property name="serviceInterface"> <value>com.jctx.trms.hibernate.bussiness.DepotSubFrameManager</value></property> </bean>
get the bean:Code:<bean id="depotSubFrameDAO" class="com.jctx.trms.hibernate.DAO.DepotSubFrameDAOImpl"> <property name="sessionFactory"> <ref local="sessionFactory"/> </property> </bean> <bean id="depotSubFrameManager" parent="txProxyTemplate"> <property name="target"> <bean class="com.jctx.trms.hibernate.bussiness.DepotSubFrameManagerImpl"> <property name="depotSubFrameDAO"><ref bean="depotSubFrameDAO"/></property> </bean> </property> </bean>call the service:Code:public static DepotSubFrameManager getDepotSubFrameManager() { return (DepotSubFrameManager) (getContext().getBean("depotSubFrameManager")); }my dao is:Code:DepotSubFrameManager depotsubframem = (DepotSubFrameManager) GlobalApplicationContext.getDepotSubFrameManager(); System.out.println("the value of depotsubframem is " + depotsubframem); List lts = depotsubframem.findAll(); [color=red]//(1)[/color] Iterator its = lts.iterator();in server,the console print the size of list is 6,but in client,the program run to the row which marked (1) throw the java.lang.NullPointerException,and in the console of client ,the value of depotsubframem isCode:public List findAll(){ List list = getHibernateTemplate().find("from com.jctx.trms.hibernate.persistence.DepotSubFrame"); System.out.println("the length of size is " + list.size()); [color=red] //(2)[/color] return list; }
the exception of client console is:Code:HTTP invoker proxy for service URL [http://localhost:8080/trms/remoting/DepotSubFrameManager]
Can anyone please spot what I have done wrong, thanks very much.Code:java.lang.NullPointerException at com.jctx.trms.hibernate.persistence.BaseObject.hashCodeReflectionAppend(BaseObject.java:115) at com.jctx.trms.hibernate.persistence.BaseObject.hashCode(BaseObject.java:98) at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392) at com.jctx.trms.hibernate.persistence.BaseObject.hashCodeReflectionAppend(BaseObject.java:118) at com.jctx.trms.hibernate.persistence.BaseObject.hashCode(BaseObject.java:98) at java.util.HashMap.hash(HashMap.java:261) at java.util.HashMap.putForCreate(HashMap.java:404) at java.util.HashMap.readObject(HashMap.java:1007) 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:324) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at java.util.ArrayList.readObject(ArrayList.java:547) 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:324) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.doReadRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:233) at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.readRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:181) at org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor.doExecuteRequest(SimpleHttpInvokerRequestExecutor.java:55) at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:68) at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:138) at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:112) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174) at $Proxy39.findAll(Unknown Source) at com.jctx.trms.hibernate.bussiness.IniTree.getTreeList(IniTree.java:70) at com.jctx.trms.tree.TreeBean.<init>(TreeBean.java:19) at com.jctx.trms.tree.TreeBean.getInstance(TreeBean.java:29) at com.jctx.trms.tree.MainTree$JCTreeContentProvider.getElements(MainTree.java:241) at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:532) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:704) at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:477) at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:585) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:359) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:342) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:787) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:862) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:777) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1059) at com.jctx.trms.tree.MainTree.createTreeViewer(MainTree.java:100) at com.jctx.trms.views.SearchView.createPartControl(SearchView.java:15) at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:133) at org.eclipse.ui.internal.ViewPane.createChildControl(ViewPane.java:135) at org.eclipse.ui.internal.ViewFactory$1.run(ViewFactory.java:351) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.ui.internal.ViewFactory.busyRestoreView(ViewFactory.java:273) at org.eclipse.ui.internal.ViewFactory$2.run(ViewFactory.java:530) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.ViewFactory.restoreView(ViewFactory.java:528) at org.eclipse.ui.internal.ViewFactory$ViewReference.getPart(ViewFactory.java:102) at org.eclipse.ui.internal.WorkbenchPage$1.propertyChange(WorkbenchPage.java:132) at org.eclipse.ui.internal.LayoutPart.setVisible(LayoutPart.java:268) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:317) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:568) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:122) at org.eclipse.ui.internal.presentations.DefaultPartPresentation.selectPart(DefaultPartPresentation.java:1116) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:946) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921) at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1020) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:383) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:367) at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:432) at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:155) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:732) at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2063) at org.eclipse.ui.internal.WorkbenchWindow$4.run(WorkbenchWindow.java:1858) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:1845) at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:498) at org.eclipse.ui.internal.WorkbenchWindow$3.run(WorkbenchWindow.java:1076) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchWindow.openPage(WorkbenchWindow.java:1073) at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:992) at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:174) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:658) at org.eclipse.ui.internal.Workbench.init(Workbench.java:819) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1325) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at com.jctx.trms.TrmsApplication.run(TrmsApplication.java:14) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688)
Jesse


Reply With Quote