I asked the question and answered on stackoverflow.com[1]. Conclusion, I decided to leave the converters defined as static and as members of the controller classes, since my preference is to use @FacesConverter(forClass = Customer.class).
[1] http://stackoverflow.com/questions/15987483/singleton-lockread-to-resolve-could-not-instantiate-converter On Sat, Apr 13, 2013 at 10:17 AM, Howard W. Smith, Jr. < smithh032...@gmail.com> wrote: > > On Sat, Apr 13, 2013 at 9:58 AM, José Luis Cetina <maxtorz...@gmail.com>wrote: > >> Howard i see you have this problem using the converter with primefaces >> autocomplete, just for curiosity do you have a p:ajax inside of the >> component? If so can you paste your p:ajax tag? I comment this because i >> had the same problem like you but i didnt use static in my converter. >> > > Jose, you're right, I do get this exception when using Autocomplete with > p:ajax, but I also see the exception on p:inputText (for Phone #) with no > p:ajax, and use Save button to update/save Phone # inputText. :) > > Below, is the entire xhtml of the autocomplete component for customer. > > <p:autoComplete id="customerId" > value="#{pf_ordersController.selectedCustomer}" > completeMethod="#{pf_customerController.complete}" var="c" > itemLabel="#{c.customerName}" itemValue="#{c}" > maxResults="10" queryDelay="300" size="50" > onblur="close()"> > <p:ajax partialSubmit="false" event="itemSelect" > onstart="bui.block();" oncomplete="bui.unblock();" > update="@(.ui-panel) :orderEditForm:formMessages > :orderEditForm:_ajax_status"/> > <f:facet name="itemtip"> > <h:panelGrid columns="2" cellpadding="3"> > <f:facet name="header"> > <h:outputText value="#{c.customerName}" /> > </f:facet> > <h:outputText value="Number:" /> > <h:outputText value="#{c.customerId}" /> > > <h:outputText value="Leader:" /> > <h:outputText value="#{c.leaderPointOfContactId ne null ? > c.leaderPointOfContactId.pointOfContactName : ''}"/> > </h:panelGrid> > </f:facet> > </p:autoComplete> > >