[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jetty-users] BlazeDs3.x or 4.x are not working as excepted with Jetty 7.x or 8.x server
|
Hi,
I am trying access my Java POJO classes through BlazeDs deployed in Jetty server.
For small requests things are working fine. But for List(ArrayList) of java
objects as response drill down to a hang in server. For detail see steps to
reproduce.
*Steps to reproduce*:
Just copying the code I used to simulate problem
*part of MXML*
<mx:RemoteObject id="srv_RO" destination="product_RO"/>
<mx:DataGrid dataProvider="{srv_RO.getProducts.lastResult}" width="100%" height="100%" x="70" />
<mx:Button label="Get" click="srv_RO.getProducts()" />
====================================
*sumit/SumitProduct.java*
package sumit;
public class SumitProduct {
private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
==============================
*sumit/SumitProductService.java*
package sumit;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
//import flex.messaging.io.ArrayCollection;
public class SumitProductService {
private static final String[] MASTER_LIST = {"C", "FNM", "FRE", "F", "GOOG",
"AIG", "CSCO", "MSFT", "AAPL", "YHOO", "BSX", "PORT","F", "TNT", "ESP", "RET", "V
BN", "EES"};
public SumitProductService(){}
public List<SumitProduct> getProducts(){
List<SumitProduct> list = new ArrayList<SumitProduct>();
Random r = new Random();
for (String s:MASTER_LIST){
SumitProduct sq = new SumitProduct();
sq.setName(s);
sq.setPrice(r.nextInt(50));
list.add(sq);
}
return list;
}
}
Actual Results:
Hang ... no result
Error is :- [BlazeDS]09:19:26.225 [ERROR] class sun.reflect.GeneratedMethodAccessor7 cannot access its superclass sun.reflect.MethodAccessorImpl
Expected Results:
records set
Workaround (if any):
NO
Stack trace after enbling debug in Jetty server:
011-03-08 09:19:26.189:DBUG::REQUEST /samples/messagebroker/amf on org.eclipse.jetty.server.nio.SelectChannelConnector$3@16d3046
2011-03-08 09:19:26.189:DBUG::Got Session ID zq5tvow0ibsvcj2yqxgp5g2w from cookie
2011-03-08 09:19:26.190:DBUG::sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1c8fb4b
2011-03-08 09:19:26.190:DBUG::session=org.eclipse.jetty.server.session.HashSessionManager$HashedSession:zq5tvow0ibsvcj2yqxgp5g2w@3695078
2011-03-08 09:19:26.190:DBUG::servlet=MessageBrokerServlet
2011-03-08 09:19:26.190:DBUG::servlet holder= MessageBrokerServlet
2011-03-08 09:19:26.190:DBUG::chain= null
[BlazeDS]09:19:26.191 [INFO] Channel endpoint my-amf received request.
2011-03-08 09:19:26.193:DBUG::loaded class flex.messaging.messages.RPCMessage from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.193:DBUG::loaded class flex.messaging.messages.RemotingMessage from WebAppClassLoader@BlazeDS
[BlazeDS]09:19:26.201 [DEBUG] Deserializing AMF/HTTP request
Version: 3
(Message #0 targetURI=null, responseURI=/1)
(Array #0)
[0] = (Typed Object #0 'flex.messaging.messages.RemotingMessage')
operation = "getProducts"
source = null
timeToLive = 0
messageId = "78FF1C6C-B1BD-51DB-DEC6-93956597379A"
body = (Array #1)
timestamp = 0
clientId = null
headers = (Object #2)
DSId = "B64FC5E9-0B0E-2AB9-C2B5-2D74013589CB"
DSEndpoint = "my-amf"
destination = "product_RO"
[BlazeDS]09:19:26.202 [DEBUG] Before invoke service: remoting-service
incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage)
operation = getProducts
clientId = B64FC857-9A0A-9C00-013C-D650DB2E9BE4
destination = product_RO
messageId = 78FF1C6C-B1BD-51DB-DEC6-93956597379A
timestamp = 1299556166202
timeToLive = 0
body =
[
]
hdr(DSId) = B64FC5E9-0B0E-2AB9-C2B5-2D74013589CB
hdr(DSEndpoint) = my-amf
2011-03-08 09:19:26.203:DBUG::loaded class flex.messaging.messages.MessagePerformanceUtils from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.204:DBUG::loaded class flex.messaging.messages.MessagePerformanceInfo from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.208:DBUG::loaded class flex.messaging.util.MethodMatcher$Match from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.209:DBUG::loaded class flex.messaging.util.MethodKey from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.210:DBUG::loaded class sumit.SumitProduct from WebAppClassLoader@BlazeDS
[BlazeDS]09:19:26.210 [DEBUG] Adapter 'java-object' called 'sumit.SumitProductService.getProducts(java.util.Arrays$ArrayList (Collection size:0)
)'
2011-03-08 09:19:26.215:DBUG::loaded interface flex.messaging.util.PrettyPrintable from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.222:DBUG::loaded interface sun.reflect.MethodAccessor from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.223:DBUG::loaded class sun.reflect.MagicAccessorImpl from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.223:DBUG::loaded class sun.reflect.MethodAccessorImpl from WebAppClassLoader@BlazeDS
[BlazeDS]09:19:26.223 [DEBUG] Result: 'java.util.ArrayList (Collection size:18)
[0] = sumit.SumitProduct
price = 18
name = C
[1] = sumit.SumitProduct
price = 2
name = FNM
[2] = sumit.SumitProduct
price = 41
name = FRE
[3] = sumit.SumitProduct
price = 8
name = F
[4] = sumit.SumitProduct
price = 6
name = GOOG
[5] = sumit.SumitProduct
price = 16
name = AIG
[6] = sumit.SumitProduct
price = 35
name = CSCO
[7] = sumit.SumitProduct
price = 31
name = MSFT
[8] = sumit.SumitProduct
price = 3
name = AAPL
[9] = sumit.SumitProduct
price = 36
name = YHOO
[10] = sumit.SumitProduct
price = 4
name = BSX
[11] = sumit.SumitProduct
price = 4
name = PORT
[12] = sumit.SumitProduct
price = 48
name = F
[13] = sumit.SumitProduct
price = 32
name = TNT
[14] = sumit.SumitProduct
price = 21
name = ESP
[15] = sumit.SumitProduct
price = '
[BlazeDS]09:19:26.224 [DEBUG] After invoke service: remoting-service
reply: java.util.ArrayList (Collection size:18)
[0] = sumit.SumitProduct
price =
[BlazeDS]09:19:26.225 [DEBUG] Serializing AMF/HTTP response
Version: 3
(Message #0 targetURI=/1/onResult, responseURI=)
(Externalizable Object #0 'DSK')
(Externalizable Object #1 'flex.messaging.io.ArrayCollection')
(Array #2)
[0] = (Typed Object #3 'sumit.SumitProduct')
2011-03-08 09:19:26.226:DBUG::loaded class flex.messaging.util.ExceptionUtil from WebAppClassLoader@BlazeDS
2011-03-08 09:19:26.226:DBUG::loaded class java.util.NoSuchElementException
2011-03-08 09:19:26.226:DBUG::loaded class java.util.NoSuchElementException from null
[BlazeDS]09:19:26.225 [ERROR] class sun.reflect.GeneratedMethodAccessor7 cannot access its superclass sun.reflect.MethodAccessorImpl
java.lang.IllegalAccessError: class sun.reflect.GeneratedMethodAccessor7 cannot access its superclass sun.reflect.MethodAccessorImpl
at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
at java.security.AccessController.doPrivileged(Native Method)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
at sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.io.BeanProxy$BeanProperty.get(BeanProxy.java:825)
at flex.messaging.io.BeanProxy.getBeanValue(BeanProxy.java:199)
at flex.messaging.io.BeanProxy.getValue(BeanProxy.java:173)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:601)
at flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:532)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:207)
at flex.messaging.io.amf.Amf3Output.writeObjectArray(Amf3Output.java:854)
at flex.messaging.io.amf.Amf3Output.writeAMFArray(Amf3Output.java:445)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:193)
at flex.messaging.io.ArrayCollection.writeExternal(ArrayCollection.java:97)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:594)
at flex.messaging.io.amf.Amf3Output.writeArrayCollection(Amf3Output.java:476)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:189)
at flex.messaging.messages.AbstractMessage.writeExternalBody(AbstractMessage.java:705)
at flex.messaging.messages.AbstractMessage.writeExternal(AbstractMessage.java:435)
at flex.messaging.messages.AsyncMessage.writeExternal(AsyncMessage.java:140)
at flex.messaging.messages.AcknowledgeMessage.writeExternal(AcknowledgeMessage.java:94)
at flex.messaging.messages.AcknowledgeMessageExt.writeExternal(AcknowledgeMessageExt.java:55)
at flex.messaging.io.amf.Amf3Output.writePropertyProxy(Amf3Output.java:594)
at flex.messaging.io.amf.Amf3Output.writeCustomObject(Amf3Output.java:532)
at flex.messaging.io.amf.Amf3Output.writeObject(Amf3Output.java:112)
at flex.messaging.io.amf.Amf0Output.writeObject(Amf0Output.java:206)
at flex.messaging.io.amf.AmfMessageSerializer.writeObject(AmfMessageSerializer.java:196)
at flex.messaging.io.amf.AmfMessageSerializer.writeBody(AmfMessageSerializer.java:186)
at flex.messaging.io.amf.AmfMessageSerializer.writeMessage(AmfMessageSerializer.java:142)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:198)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:353)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:546)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:479)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:230)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:956)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:411)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:891)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
at org.eclipse.jetty.server.Server.handle(Server.java:349)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:598)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1076)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:427)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
at java.lang.Thread.run(Thread.java:662)
2011-03-08 09:19:26.228:DBUG::RESPONSE /samples/messagebroker/amf 200
2011-03-08 09:19:26.235:DBUG::EOF org.eclipse.jetty.io.EofException
2011-03-08 09:20:26.242:DBUG::EXCEPTION
Sumit
+91 80 25168745
STSD
Sumit
+91 80 25168745
STSD