<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi George,<div><br></div><div>I'd like to mix my view layer so it's composed out of both JSF and REST, but they are having separate execution points.</div><div><br></div><div>The JSF view handler is invoked when required. When page is loaded, I would prefer to make direct calls to REST w/o any interception directly through JSF.</div><div><br></div><div><br><div><div>On Jan 17, 2012, at 3:06 AM, George Gastaldi wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div bgcolor="#FFFFFF"><div>Jason,</div><div><br></div><div>You're Right, i completely forgot about the multiple entry view approach.</div><div><br></div><div>But since Ove didnt mentioned about multiple views, I assumed JSF is the only entry point, which adding REST may be overengineering.</div>
<div><br><br>Em 17/01/2012, ās 00:00, Jason Porter <<a href="mailto:lightguard.jp@gmail.com">lightguard.jp@gmail.com</a>> escreveu:<br><br></div><div></div><blockquote type="cite"><div><div><br><br>Sent from my iPhone</div>
<div><br>On Jan 16, 2012, at 18:46, George Gastaldi <<a href="mailto:gegastaldi@gmail.com"></a><a href="mailto:gegastaldi@gmail.com">gegastaldi@gmail.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>
<div>One solution is to have a backend store for the conversation scoped beans (Infinispan maybe ?) and never mess with the session. Probably the conversation Ids should be unique as well, so you must generate them uniquely.</div>
</div></blockquote><div><br></div><div>My thoughts. </div><br><blockquote type="cite"><div><div>Since you are using JSF, why not queueing events using the ajax support in JSF 2.0+? Adding REST services with JSF sounds like an action based solution which may subestimate the power of the JSF itself.</div>
</div></blockquote><div><br></div><div>Not if you have multiple entries into the app. If you do it right, all the business logic ends up going through the REST classes. You could simply inject the REST classes and use them like normal POJOs in JSF backing beans, an entry into the app using HTML5, GWT, desktop client, native mobile client, etc. it's actually a very good separation if you need multiple entry points into the app. This essentially boils down to one common entry point, multiple views. I think it's quickly becoming my preferred architecture. </div>
<br><blockquote type="cite"><div><div>My two cents ;)</div><div><br></div><div>Regards,</div><div><br></div><div>George Gastaldi</div><div><br>Em 16/01/2012, ās 22:27, Jason Porter <<a href="mailto:lightguard.jp@gmail.com"></a><a href="mailto:lightguard.jp@gmail.com">lightguard.jp@gmail.com</a>> escreveu:<br>
<br></div><div></div><blockquote type="cite"><div><div>I'll have to think on this some more.</div><br><div class="gmail_quote">On Mon, Jan 16, 2012 at 16:36, Ove Ranheim <span dir="ltr"><<a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com">oranheim@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">The REST service beans are usually scoped RequestScoped. Mixing REST and JSF is really useful, just like it works with Remoting and JSF. I use the latter quite a lot when 1) JSF component doesn't do what I want it to do, and 2) I need to send some UI state info back to the server; like what tab in a tabview is selected etc. What would be the appropriate way to handle this? Since REST is REST, we don't want to mess up the session store and have the back-end operate incorrectly.<div>
<br></div><div>However, would it be possible to demote the conversion scoped beans to request scoped beans? From a programmatic point of view, it all boils down to being able to interact with ConversationScoped beans from a RequestScoped REST bean. If not, a more comprehensive implementation/architecture must take place. In a mixed environment (JSF/REST), you're likely to delegate business logic to Dependent scoped beans, and proxy two delegates 1) into a ConversationScoped JSF bean variant, and/or 2) RequestScoped REST bean variant. Hence, you'd end up with one dependent scoped impl bean, with two scoped variants. When the object graph expands, it'll be complex to maintain. This has a clear impact.</div>
<div><br></div><div>Btw, how's this done in Remoting to back JSF?<div><div class="h5"><br><div><br><div><div>On Jan 17, 2012, at 12:20 AM, Jason Porter wrote:</div><br><blockquote type="cite">I agree that Conversations should be supported for other connections besides JSF, however, with REST or any web service call there is a problem about tying a request to a session, you'd either have to have the client's support sending cookies in their requests or create store like a session yourself. If you go with the latter approach then it should be fairly easy to (well, as easy as creating passivation capable scopes is) to create a scope that would work with this cache / store.<div>
<br></div><div>If it is a regression, please create a JIRA with attached Arquillian test(s).<br><br><div class="gmail_quote">On Mon, Jan 16, 2012 at 16:03, Ove Ranheim <span dir="ltr"><<a href="mailto:oranheim@gmail.com" target="_blank"></a><a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com">oranheim@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">The below test case impl doesn't track any sessions and the conversation only survives per method call. So the lifecycle to it isn't proper :) It's nothing more than a workaround.<div>
<br></div><div>It'd be better to have support for ConversationScope in Seam REST. Maybe I'm doing something wrong here, but my code case is as simple as:</div><div><br></div><div>1) PU produces a ConversationScoped entity manager in Seam Persistence</div>
<div><br></div><div>2) The REST service makes a call to a Stateful ConversationScoped bean, in which invokes the ConversationScoped PU</div><div><br></div><div>3) REST service beans are used to accommodate natural REST crud on top of a JSF page.</div>
<div><br></div><div>That's all there are to it. The deployment includes solder, faces, international, persistence, transaction, security, conversation-{weld and spi} and rest. I'm investigating ways to make a hybrid model that uses JSF and REST. So far so good, except for the aforementioned.</div>
<div><div><div><br><div><div><div>On Jan 16, 2012, at 11:50 PM, Jason Porter wrote:</div><br><blockquote type="cite">Since you're using REST, how are you tracking the session? If don't have some way of doing that you'll end up possibly creating a new session / conversation with each request because it isn't tied to the same session.<br>
<br><div class="gmail_quote">On Mon, Jan 16, 2012 at 15:35, Ove Ranheim <span dir="ltr"><<a href="mailto:oranheim@gmail.com" target="_blank"></a><a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com">oranheim@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">Jason,<div><br></div><div>Thanks for your feedback and maybe this is a regression. I made an interceptor to make my test code work, but I'm not sure what implication it'll have in a production environment.</div>
<div><br></div><div>Ove</div><div><br></div><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">@InterceptorBinding</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(22,47,202)"><span style="color:#777777">@Target</span><span style="color:#000000">({ </span>TYPE<span style="color:#000000">, </span>METHOD<span style="color:#000000"> })</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"><span style="color:#777777">@Retention</span>(RetentionPolicy.<span style="color:#162fca">RUNTIME</span>)</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)"><span style="color:#7e2b68">public</span><span style="color:#000000"> </span><span style="color:#7e2b68">@interface</span><span style="color:#000000"> </span>ConversationAware<span style="color:#000000"> {</span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">}</div></div><div><br></div><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">
@ConversationAware<span style="color:#000000"> </span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">@Interceptor</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"><span style="color:#7e2b68">public</span> <span style="color:#7e2b68">class</span> ConversationHandler <span style="color:#7e2b68">implements</span> Serializable {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px"><br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">private</span> <span style="color:#7e2b68">static</span> <span style="color:#7e2b68">final</span> <span style="color:#7e2b68">long</span> <span style="color:#162fca">serialVersionUID</span> = -6414852756277060457L;</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px"> <br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">private</span> BoundConversationContext <span style="color:#162fca">ctx</span>;</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">private</span> BoundRequest <span style="color:#162fca">request</span>;</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px"> <br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">private</span> <span style="color:#7e2b68">void</span> createBoundConversationRequest() {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#162fca">request</span> = <span style="color:#7e2b68">new</span> MutableBoundRequest(<span style="color:#7e2b68">new</span> HashMap<String, Object>(), <span style="color:#7e2b68">new</span> HashMap<String, Object>());</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> }</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px">
<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">private</span> <span style="color:#7e2b68">void</span> selectBoundConversationContext() {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#162fca">ctx</span> = Container.instance().deploymentManager().instance().select(BoundConversationContext.<span style="color:#7e2b68">class</span>).get();</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#162fca">ctx</span>.associate(<span style="color:#162fca">request</span>);</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#162fca">ctx</span>.activate();</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
}</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px"><br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">private</span> <span style="color:#7e2b68">void</span> cleanupBoundConversation() {</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">if</span> (<span style="color:#162fca">ctx</span> != <span style="color:#7e2b68">null</span> && <span style="color:#162fca">ctx</span>.isActive()) {</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#162fca">ctx</span>.deactivate();</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#162fca">ctx</span>.dissociate(<span style="color:#162fca">request</span>);</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> }</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
} </div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;min-height:15px"><br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">
<span style="color:#000000"> </span>@AroundInvoke</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">public</span> Object handle(InvocationContext ctx) <span style="color:#7e2b68">throws</span> Exception {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">if</span> (ctx.getMethod().isAnnotationPresent( <span style="color:#777777">ConversationAware</span>.<span style="color:#7e2b68">class</span> )) {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> createBoundConversationRequest();</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
<span style="color:#7e2b68">try</span> {</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> selectBoundConversationContext();</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">return</span> ctx.proceed();</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
} <span style="color:#7e2b68">finally</span> {</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> cleanupBoundConversation();</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> }</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
}</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> <span style="color:#7e2b68">return</span> <span style="color:#7e2b68">null</span>;</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> } </div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
}</div></div><div><br></div><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">@GET</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(57,63,253)">
<span style="color:#777777">@Path</span><span style="color:#000000">(</span>"/{id:[0-9][0-9]*}"<span style="color:#000000">)</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(22,47,202)">
<span style="color:#777777">@Produces</span><span style="color:#000000">(MediaType.</span>APPLICATION_JSON<span style="color:#000000">)</span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco;color:rgb(119,119,119)">
@ConversationAware</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"><span style="color:#7e2b68">public</span> <span style="text-decoration:underline">Pojo</span> lookupPojoById(<span style="color:#777777">@PathParam</span>(<span style="color:#393ffd">"id"</span>) Long id) {</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco"> // do something</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Monaco">
} </div></div><div><div><div><br></div><div><br></div><div><div><div>On Jan 16, 2012, at 9:45 PM, Jason Porter wrote:</div><br><blockquote type="cite"><div bgcolor="#FFFFFF"><div>I'd have to go through the seam conversation code as it is not documented. But I don't think the interceptor will work as in REST there isn't really a session to tie the conversation to. <br>
<br>Sent from my iPhone</div><div><br>On Jan 16, 2012, at 13:35, Ove Ranheim <<a href="mailto:oranheim@gmail.com" target="_blank"></a><a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com">oranheim@gmail.com</a>> wrote:<br>
<br></div>
<div></div><blockquote type="cite"><div>
I have configured <span style="font-family:Monaco;font-size:11px"><span style="color:#678e91">class</span></span><span style="font-family:Monaco;font-size:11px"><span style="color:#508e92">></span></span><span style="font-family:Monaco;font-size:11px">org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor</span><span style="font-family:Monaco;font-size:11px"><span style="color:#508e92"></</span></span><span style="font-family:Monaco;font-size:11px"><span style="color:#678e91">class</span></span><span style="font-family:Monaco;font-size:11px"><span style="color:#508e92">></span></span> in WEB-INF/beans.xml and seam-faces is used. In fact I use both JSF and REST.<div>
<br></div><div>Anything else that needs to be wired up?</div><div><br></div><div><div><div>On Jan 16, 2012, at 9:14 PM, Jason Porter wrote:</div><br><blockquote type="cite"><div>If you're using Seam Conversation and starting the conversation it will work. Out of the box, conversations don't work outside JSF. <br>
<br>Sent from my iPhone<br><br>On Jan 16, 2012, at 13:04, Ove Ranheim <<a href="mailto:oranheim@gmail.com" target="_blank"></a><a href="mailto:oranheim@gmail.com"></a><a href="mailto:oranheim@gmail.com">oranheim@gmail.com</a>> wrote:<br>
<br><blockquote type="cite">
Hi guys,<br></blockquote><blockquote type="cite">
<br></blockquote><blockquote type="cite">I'm getting a "WELD-001303 No active contexts for scope type javax.enterprise.context.ConversationScoped" when making a call to a REST service that invokes a ConversationScoped bean.<br>
</blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Did I miss a configuration setting, or isn't ConversationScoped supported?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">
Ove<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">javax.ejb.EJBTransactionRolledbackException: WELD-001303 No active contexts for scope type javax.enterprise.context.ConversationScoped<br>
</blockquote><blockquote type="cite"> org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:133)<br></blockquote><blockquote type="cite"> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:196)<br>
</blockquote><blockquote type="cite"> org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:286)<br></blockquote><blockquote type="cite"> org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:182)<br>
</blockquote><blockquote type="cite"> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)<br></blockquote><blockquote type="cite"> org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor.processInvocation(SessionInvocationContextInterceptor.java:71)<br>
</blockquote><blockquote type="cite"> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)<br></blockquote><blockquote type="cite"> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)<br>
</blockquote><blockquote type="cite"> org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:146)<br></blockquote><blockquote type="cite"> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)<br>
</blockquote><blockquote type="cite"> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)<br></blockquote><blockquote type="cite"> org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:76)<br>
</blockquote><blockquote type="cite"> com.parts.apartment.management.ApartmentService$$$view2.listApartmentUnits(Unknown Source)<br></blockquote><blockquote type="cite"> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
</blockquote><blockquote type="cite"> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br></blockquote><blockquote type="cite"> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
</blockquote><blockquote type="cite"> java.lang.reflect.Method.invoke(Method.java:597)<br></blockquote><blockquote type="cite"> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)<br>
</blockquote>
<blockquote type="cite"> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)<br></blockquote><blockquote type="cite"> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)<br>
</blockquote><blockquote type="cite"> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)<br></blockquote><blockquote type="cite"> org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:125)<br>
</blockquote><blockquote type="cite"> org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:62)<br></blockquote><blockquote type="cite"> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)<br>
</blockquote><blockquote type="cite"> com.parts.apartment.management.ApartmentService$Proxy$_$$_Weld$Proxy$.listApartmentUnits(ApartmentService$Proxy$_$$_Weld$Proxy$.java)<br></blockquote><blockquote type="cite"> com.parts.apartment.management.ApartmentService$Proxy$_$$_WeldClientProxy.listApartmentUnits(ApartmentService$Proxy$_$$_WeldClientProxy.java)<br>
</blockquote><blockquote type="cite"> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br></blockquote><blockquote type="cite"> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
</blockquote><blockquote type="cite"> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br></blockquote><blockquote type="cite"> java.lang.reflect.Method.invoke(Method.java:597)<br>
</blockquote><blockquote type="cite"> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)<br></blockquote><blockquote type="cite"> org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:255)<br>
</blockquote><blockquote type="cite"> org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:220)<br></blockquote><blockquote type="cite"> org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:209)<br>
</blockquote><blockquote type="cite"> org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:519)<br></blockquote><blockquote type="cite"> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:496)<br>
</blockquote><blockquote type="cite"> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)<br></blockquote><blockquote type="cite"> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)<br>
</blockquote><blockquote type="cite"> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)<br></blockquote><blockquote type="cite"> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)<br>
</blockquote><blockquote type="cite"> javax.servlet.http.HttpServlet.service(HttpServlet.java:847)<br></blockquote><blockquote type="cite"> org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)<br>
</blockquote><blockquote type="cite"> org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)<br></blockquote><blockquote type="cite"> org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74)<br>
</blockquote><blockquote type="cite"> com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:126)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">
<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">seam-dev mailing list<br></blockquote><blockquote type="cite"><a href="mailto:seam-dev@lists.jboss.org" target="_blank"></a><a href="mailto:seam-dev@lists.jboss.org"></a><a href="mailto:seam-dev@lists.jboss.org">seam-dev@lists.jboss.org</a><br>
</blockquote><blockquote type="cite"><a href="https://lists.jboss.org/mailman/listinfo/seam-dev" target="_blank"></a><a href="https://lists.jboss.org/mailman/listinfo/seam-dev"></a><a href="https://lists.jboss.org/mailman/listinfo/seam-dev">https://lists.jboss.org/mailman/listinfo/seam-dev</a><br>
</blockquote></div></blockquote></div><br></div></div>
</blockquote></div></blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jason Porter<br><a href="http://lightguard-jp.blogspot.com/" target="_blank"></a><a href="http://lightguard-jp.blogspot.com/"></a><a href="http://lightguard-jp.blogspot.com/">http://lightguard-jp.blogspot.com</a><br>
<a href="http://twitter.com/lightguardjp" target="_blank"></a><a href="http://twitter.com/lightguardjp"></a><a href="http://twitter.com/lightguardjp">http://twitter.com/lightguardjp</a><br><br>Software Engineer<br>Open Source Advocate<br>
Author of Seam Catch - Next Generation Java Exception Handling<br>
<br>PGP key id: 926CCFF5<br>
PGP key available at: <a href="http://keyserver.net/" target="_blank"></a><a href="http://keyserver.net/"></a><a href="http://keyserver.net/">keyserver.net</a>, <a href="http://pgp.mit.edu/" target="_blank"></a><a href="http://pgp.mit.edu/"></a><a href="http://pgp.mit.edu/">pgp.mit.edu</a><br>
</blockquote></div><br></div></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jason Porter<br><a href="http://lightguard-jp.blogspot.com/" target="_blank"></a><a href="http://lightguard-jp.blogspot.com/"></a><a href="http://lightguard-jp.blogspot.com/">http://lightguard-jp.blogspot.com</a><br>
<a href="http://twitter.com/lightguardjp" target="_blank"></a><a href="http://twitter.com/lightguardjp"></a><a href="http://twitter.com/lightguardjp">http://twitter.com/lightguardjp</a><br><br>Software Engineer<br>Open Source Advocate<br>
Author of Seam Catch - Next Generation Java Exception Handling<br>
<br>PGP key id: 926CCFF5<br>
PGP key available at: <a href="http://keyserver.net/" target="_blank"></a><a href="http://keyserver.net/"></a><a href="http://keyserver.net/">keyserver.net</a>, <a href="http://pgp.mit.edu/" target="_blank"></a><a href="http://pgp.mit.edu/"></a><a href="http://pgp.mit.edu/">pgp.mit.edu</a><br>
</div>
</blockquote></div><br></div></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jason Porter<br><a href="http://lightguard-jp.blogspot.com/" target="_blank"></a><a href="http://lightguard-jp.blogspot.com/"></a><a href="http://lightguard-jp.blogspot.com/">http://lightguard-jp.blogspot.com</a><br>
<a href="http://twitter.com/lightguardjp" target="_blank"></a><a href="http://twitter.com/lightguardjp"></a><a href="http://twitter.com/lightguardjp">http://twitter.com/lightguardjp</a><br><br>Software Engineer<br>Open Source Advocate<br>
Author of Seam Catch - Next Generation Java Exception Handling<br>
<br>PGP key id: 926CCFF5<br>
PGP key available at: <a href="http://keyserver.net/" target="_blank"></a><a href="http://keyserver.net/"></a><a href="http://keyserver.net/">keyserver.net</a>, <a href="http://pgp.mit.edu/" target="_blank"></a><a href="http://pgp.mit.edu/"></a><a href="http://pgp.mit.edu/">pgp.mit.edu</a><br>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>seam-dev mailing list</span><br><span><a href="mailto:seam-dev@lists.jboss.org"></a><a href="mailto:seam-dev@lists.jboss.org">seam-dev@lists.jboss.org</a></span><br>
<span><a href="https://lists.jboss.org/mailman/listinfo/seam-dev"></a><a href="https://lists.jboss.org/mailman/listinfo/seam-dev">https://lists.jboss.org/mailman/listinfo/seam-dev</a></span><br></div></blockquote>
</div></blockquote></div></blockquote></div>
</blockquote></div><br></div></body></html>