Reorder links in DataTable
Hi, is there a way to implement reordering of rows in DatTable? I'd like to add a column with moveUp,moveDown,remove having the same behaviour as corresponging links of the ListView component. I suppose DataTable should be set to model reusing with setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()) and DataProvider should be a simple wrapper around List object but could not find a more or less generic way to implement ListView reordering behavior. -- View this message in context: http://www.nabble.com/Reorder-links-in-DataTable-tp19062831p19062831.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 6 clustering problem
Hi all, I've got wicket 1.4-m2 based application running on two different network hosts configured as Tomcat 6 Simple TCP cluster. I try to simulate failover with session replication using the following schema: 1) Log into the first server, store some info in HTTP session 2) Access mounted page on the first server, i.e. http://first.server/mounted/page 3) Try to access the same page on the second server, i.e. http://second.server/mounted/page I assume that HTTP session should replicate between Tomcat's and I want to get immediate reply from the second server, but all I get is forwarding me to the login screen and the following entries in log: Jun 25, 2008 5:10:39 PM org.apache.catalina.ha.session.DeltaManager messageReceived SEVERE: Manager [localhost#/mas]: Unable to receive message through TCP channel java.lang.IllegalArgumentException: Unknown object type null at org.apache.wicket.protocol.http.pagestore.DiskPageStore.restoreAfterSerialization(DiskPageStore.java:1211) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.readObject(SecondLevelCacheSessionStore.java:403) 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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.readExternal(DeltaRequest.java:361) at org.apache.catalina.ha.session.DeltaRequest.readExternal(DeltaRequest.java:255) at org.apache.catalina.ha.session.DeltaManager.deserializeDeltaRequest(DeltaManager.java:619) at org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1363) at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1320) at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1083) at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:87) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:899) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:880) at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241) at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225) at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188) at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Is there a way to resolve this issue? -- View this message in context: http://www.nabble.com/Tomcat-6-clustering-problem-tp18112263p18112263.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat 6 clustering problem
Just tried with 1.4-SNAPSHOT. Same exception but different line in the DiskPageStore.java SEVERE: Manager [localhost#/mas]: Unable to receive message through TCP channel java.lang.IllegalArgumentException: Unknown object type null at org.apache.wicket.protocol.http.pagestore.DiskPageStore.restoreAfterSerialization(DiskPageStore.java:1215) Matej Knopp-2 wrote: Any chance you can try it with latest trunk? -Matej On Wed, Jun 25, 2008 at 3:18 PM, Artem D. [EMAIL PROTECTED] wrote: Hi all, I've got wicket 1.4-m2 based application running on two different network hosts configured as Tomcat 6 Simple TCP cluster. I try to simulate failover with session replication using the following schema: 1) Log into the first server, store some info in HTTP session 2) Access mounted page on the first server, i.e. http://first.server/mounted/page 3) Try to access the same page on the second server, i.e. http://second.server/mounted/page I assume that HTTP session should replicate between Tomcat's and I want to get immediate reply from the second server, but all I get is forwarding me to the login screen and the following entries in log: Jun 25, 2008 5:10:39 PM org.apache.catalina.ha.session.DeltaManager messageReceived SEVERE: Manager [localhost#/mas]: Unable to receive message through TCP channel java.lang.IllegalArgumentException: Unknown object type null at org.apache.wicket.protocol.http.pagestore.DiskPageStore.restoreAfterSerialization(DiskPageStore.java:1211) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.readObject(SecondLevelCacheSessionStore.java:403) 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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.readExternal(DeltaRequest.java:361) at org.apache.catalina.ha.session.DeltaRequest.readExternal(DeltaRequest.java:255) at org.apache.catalina.ha.session.DeltaManager.deserializeDeltaRequest(DeltaManager.java:619) at org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1363) at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1320) at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1083) at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:87) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:899) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:880) at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79) at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241) at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225) at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188) at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Is there a way to resolve this issue? -- View this message in context: http://www.nabble.com/Tomcat-6-clustering-problem-tp18112263p18112263.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
RE: Tomcat 6 clustering problem
Just tested you suggestion - it works like a charm! Thanks for your help! Artem. lzappaterrini wrote: Well in a production situation there would be one host name used and failover would just change which server the requests to that host name get routed to. In that scenario the same cookies would be used so no problem. You should be able to use some trickery in your hosts file to mimic this. Add a host name (clustertest perhaps) that points to the first server's IP address, access the site, switch the IP address in the hosts file to the second server, verify that the second server is indeed hit and that the behavior is correct. I'm not sure if you are familiar with working with a hosts file so just know that on all Unix-like systems I have encountered it is found at /etc/hosts and on all Windows systems I have encountered it is found at C:\WINDOWS\system32\drivers\etc\hosts Larry -Original Message- From: Artem D. [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 25, 2008 10:05 AM To: users@wicket.apache.org Subject: RE: Tomcat 6 clustering problem Disabling cookies in browser made it work! Servers are configured with jvmRoutes jvm1 and jvm2, i.e. for the first server: Engine name=Catalina defaultHost=localhost jvmRoute=jvm1 jsessionid request parameter while requesting the first server looks like jsessionid=3E526DD2214AEA5B5C2DAB9C6713AF26.jvm1 When switching to the second server jvm2 suffix is used. What's the correct way to make it work with enabled cookies? -Artem. lzappaterrini wrote: Are you sure that the same JSESSIONID cookie is being sent to both servers? Cookies only get sent when the host value matches the host in the URL. Might that be your issue? -Original Message- From: Artem D. [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 25, 2008 9:18 AM To: users@wicket.apache.org Subject: Tomcat 6 clustering problem Hi all, I've got wicket 1.4-m2 based application running on two different network hosts configured as Tomcat 6 Simple TCP cluster. I try to simulate failover with session replication using the following schema: 1) Log into the first server, store some info in HTTP session 2) Access mounted page on the first server, i.e. http://first.server/mounted/page 3) Try to access the same page on the second server, i.e. http://second.server/mounted/page I assume that HTTP session should replicate between Tomcat's and I want to get immediate reply from the second server, but all I get is forwarding me to the login screen and the following entries in log: Jun 25, 2008 5:10:39 PM org.apache.catalina.ha.session.DeltaManager messageReceived SEVERE: Manager [localhost#/mas]: Unable to receive message through TCP channel java.lang.IllegalArgumentException: Unknown object type null at org.apache.wicket.protocol.http.pagestore.DiskPageStore.restoreAfterSeri alization(DiskPageStore.java:1211) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevel CachePageMap.readObject(SecondLevelCacheSessionStore.java:403) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753 ) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.readExternal(D eltaRequest.java:361) at org.apache.catalina.ha.session.DeltaRequest.readExternal(DeltaRequest.ja va:255) at org.apache.catalina.ha.session.DeltaManager.deserializeDeltaRequest(Delt aManager.java:619) at org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaMan ager.java:1363) at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager .java:1320) at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaMan ager.java:1083) at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(Cl usterSessionListener.java:87) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpClu ster.java:899) at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpClu ster.java:880) at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChann el.java:269