Seguinte galera, estou desenvolvendo um sistema e na área de cadastro do Usuário eu tenho dois Spinner (Empresa, Pessoa) eu gostaria de ao selecionar Empresa ele populasse o spinner de Pessoa somente com as pessoas que trabalham nessa empresa. Porém a entidade Pessoa não tem ligação direta com empresa. Mas a empresa tem a chave estrangeira de pessoa(OnetoOne) não sei se um tratamento unidirecional resolveria essa questão. Mas a lógica que estou aplicando está me retornando erros. Alguém poderia me ajudar?
UsuarioBean método popular
public void popular() {
try {
if (empresa != null) {
PessoaDAO pessoaDAO = new PessoaDAO();
pessoas = pessoaDAO.buscarPorEmpresa(empresa.getCodigo());
} else {
pessoas = new ArrayList<>();
}
} catch (RuntimeException erro) {
Messages.addGlobalError("Ocorreu um erro ao tentar filtrar as cidades");
erro.printStackTrace();
}
}
PessoaDAO metodo buscarPorEmpresa()
public class PessoaDAO extends GenericDAO<Pessoa>{
@SuppressWarnings({ "unchecked"})
public List<Pessoa> buscarPorEmpresa(Long empresaCodigo) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
try {
Criteria critEmpresa = sessao.createCriteria(Empresa.class);
Criteria critPessoa = sessao.createCriteria(Pessoa.class);
critEmpresa.createAlias("empresa", "e");
critPessoa.createAlias("pessoa", "p");
critEmpresa.add(Restrictions.eq("e.codigo", empresaCodigo));
critEmpresa.add(Restrictions.eq("e.pessoa", "p.codigo"));
List<Pessoa> resultado = critEmpresa.list();
return resultado;
} catch (RuntimeException erro) {
throw erro;
} finally {
sessao.close();
}
}
o SQL da busca é esse
SELECT p.codigo,p.nome FROM Pessoa p
INNER JOIN Usuario u ON u.pessoa_codigo = p.codigo
INNER JOIN Empresa e ON u.empresa_codigo = e.codigo
WHERE e.codigo = – << Aqui entra a ID da Empresa
Falai @Rafael_Victor blz, poderia citar que essa nova thread que abriu é continuação dessa aqui: https://www.guj.com.br/t/ajudinha-com-uma-busca-no-bd/386928
Abraços
Max
Voce entende de hibernate + criteria?
Fala ai @Rafael_Victor, Acredito ser algo próximo desse código abaixo
Criteria c = session.createCriteria(Pessoa.class, "P");
c.createAlias("Usuario", "U");
c.add(Restrictions.eq("P.codigo", "U.pessoa_codigo"));
c.createAlias("Empresa", "E");
c.add(Restrictions.eq("U.empresa_codigo","E.codigo"));
c.add( Restrictions.eq("E.codigo", "XXXX") )//<<-- Aqui entra a ID da Empresa
c.list();
Abraços
Max
Fala amigo, fiz alguns ajustes para o meu código, porém ele está me retornando o segundo erro:
org.hibernate.QueryException: could not resolve property: usuario of: br.com.riv
erp.domain.Pessoa
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(Abs
tractPropertyMapping.java:83)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractProper
tyMapping.java:77)
at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntity
Persister.java:1978)
at org.hibernate.loader.criteria.EntityCriteriaInfoProvider.getType(EntityCrite
riaInfoProvider.java:57)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getPathInfo(CriteriaQu
eryTranslator.java:245)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.createCriteriaEntityNa
meMap(CriteriaQueryTranslator.java:229)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.<init>(CriteriaQueryTr
anslator.java:112)
at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:88)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1699)
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
at br.com.riverp.dao.PessoaDAO.buscarPorEmpresa(PessoaDAO.java:23)
at br.com.riverp.Bean.UsuarioBean.popular(UsuarioBean.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.jav
a:105)
at org.primefaces.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(Aj
axBehaviorListenerImpl.java:54)
at javax.faces.event.AjaxBehaviorEvent.processListener(AjaxBehaviorEvent.java:1
13)
at javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:106)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:805)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhas
e.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogVa
lve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce
ssor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
tProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.jav
a:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:
1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja
va:61)
at java.lang.Thread.run(Unknown Source)
mai 21, 2019 5:10:39 PM org.apache.catalina.core.StandardContext reload
INFORMAÇÕES: Reloading Context with name [/Riverp] has started
mai 21, 2019 5:10:39 PM org.apache.catalina.session.StandardSession doWriteObjec
t
ADVERTÊNCIA: Cannot serialize session attribute com.sun.faces.application.view.a
ctiveViewMaps for session F60B78F318F8E85B3419F93CF3783EDF
java.io.NotSerializableException: br.com.riverp.domain.Empresa
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.HashMap.internalWriteEntries(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at java.util.LinkedHashMap.internalWriteEntries(Unknown Source)
at java.util.HashMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at org.apache.catalina.session.StandardSession.doWriteObject(StandardSession.ja
va:1709)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.
java:1107)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:31
5)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:265)
at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.jav
a:384)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5
491)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3822)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:
291)
at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.j
ava:5629)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
hildren(ContainerBase.java:1376)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
hildren(ContainerBase.java:1380)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processC
hildren(ContainerBase.java:1380)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(Cont
ainerBase.java:1348)
at java.lang.Thread.run(Unknown Source)
Poderia me passar o material ao qual você está recorrendo? Bibliografia? Porque pelo que eu pesquisei tem algo haver com meu Domain, alguns problemas se resolveram com a anotação @ManyToOne mas o meu não.
esse é o meu PessoaDomain
@SuppressWarnings("serial")
@Entity
public class Pessoa extends GenericDomain {
@Column(length = 50, nullable = false)
private String nome;
@Column(length = 14, nullable = false)
private String cpf;
@Column(length = 12, nullable = false)
private String rg;
@Column(length = 100, nullable = false)
private String rua;
@Column(nullable = false)
private Short numero;
@Column(length = 30, nullable = false)
private String bairro;
@Column(length = 10, nullable = false)
private String cep;
@Column(length = 10, nullable = false)
private String complemento;
@ManyToOne
@JoinColumn(nullable = false)
private Cidade cidade;
@Column(length = 13, nullable = false)
private String telefone;
@Column(length = 14, nullable = false)
private String celular;
@Column(length = 100, nullable = false)
private String email;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public Short getNumero() {
return numero;
}
public void setNumero(Short numero) {
this.numero = numero;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
e esse do UsuarioDomain
package br.com.riverp.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Transient;
@SuppressWarnings("serial")
@Entity
public class Usuario extends GenericDomain {
@Column(length = 32, nullable = false)
private String senha;
@Transient
private String senhaSemCriptografia;
@Column(nullable = false)
private Character tipo;
@Column(nullable = false)
private Boolean ativo;
@OneToOne
@JoinColumn(nullable = false)
private Pessoa pessoa;
@OneToOne
@JoinColumn(nullable = true)
private Empresa empresa;
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getSenhaSemCriptografia() {
return senhaSemCriptografia;
}
public void setSenhaSemCriptografia(String senhaSemCriptografia) {
this.senhaSemCriptografia = senhaSemCriptografia;
}
public Character getTipo() {
return tipo;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
@Transient
public String getTipoFormatado() {
String tipoFormatado = null;
if(tipo == 'A') {
tipoFormatado = "Administrador";
}else if(tipo == 'B') {
tipoFormatado = "Balconista";
}else if(tipo == 'G') {
tipoFormatado = "Gerente";
}
return tipoFormatado;
}
public void setTipo(Character tipo) {
this.tipo = tipo;
}
public Boolean getAtivo() {
return ativo;
}
public String getAtivoFormatado() {
String ativoFormatado = "Não";
if(ativo) {
ativoFormatado = "Sim";
}
return ativoFormatado;
}
public void setAtivo(Boolean ativo) {
this.ativo = ativo;
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
}
Consegui me livrar desse erro, eu não tinha feito o mapeamento de usuario e empresa na classe Pessoa, o que me estranha, já que tenho uma classe cidade que herda de estado e consegue fazer o mesmo evento popular() no XHTML de Pessoa sem estar mapeado na classe estado a classe Cidade.
Porém agora estou recebendo um erro diferente, dizendo que não se pode converter essa linha List<Pessoa> resultado = c.list();
de String para Long. O que poderia ser?
PessoaDAO
public class PessoaDAO extends GenericDAO<Pessoa>{
@SuppressWarnings({ "unchecked"})
public List<Pessoa> buscarPorEmpresa(Long empresaCodigo) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
try {
Criteria c = sessao.createCriteria(Pessoa.class, "P");
c.createAlias("usuario", "U");
c.add(Restrictions.eq("P.codigo", "U.pessoa"));
c.createAlias("empresa", "E");
c.add(Restrictions.eq("U.empresa","E.codigo"));
c.add(Restrictions.eq("E.codigo", empresaCodigo));
c.addOrder(Order.asc("nome"));
List<Pessoa> resultado = c.list();
System.out.println("Lista: " + resultado);
return resultado;
} catch (RuntimeException erro) {
throw erro;
} finally {
sessao.close();
}
}
}
Pessoa
@SuppressWarnings(“serial”)
@Entity
public class Pessoa extends GenericDomain {
@Column(length = 50, nullable = false)
private String nome;
@Column(length = 14, nullable = false)
private String cpf;
@Column(length = 12, nullable = false)
private String rg;
@Column(length = 100, nullable = false)
private String rua;
@Column(nullable = false)
private Short numero;
@Column(length = 30, nullable = false)
private String bairro;
@Column(length = 10, nullable = false)
private String cep;
@Column(length = 10, nullable = false)
private String complemento;
@ManyToOne
@JoinColumn(nullable = false)
private Cidade cidade;
@Column(length = 13, nullable = false)
private String telefone;
@Column(length = 14, nullable = false)
private String celular;
@Column(length = 100, nullable = false)
private String email;
@ManyToOne
@JoinColumn(nullable = true)
private Empresa empresa;
@OneToOne
@JoinColumn(nullable = true)
private Usuario usuario;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public Short getNumero() {
return numero;
}
public void setNumero(Short numero) {
this.numero = numero;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}
Erro:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at org.hibernate.type.descriptor.java.LongTypeDescriptor.unwrap(LongTypeDescrip
tor.java:36)
at org.hibernate.type.descriptor.sql.BigIntTypeDescriptor$1.doBind(BigIntTypeDe
scriptor.java:63)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBas
icType.java:286)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBas
icType.java:281)
at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1995)
at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1966)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1901)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1839)
at org.hibernate.loader.Loader.doQuery(Loader.java:910)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.ja
va:355)
at org.hibernate.loader.Loader.doList(Loader.java:2554)
at org.hibernate.loader.Loader.doList(Loader.java:2540)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2370)
at org.hibernate.loader.Loader.list(Loader.java:2365)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:126)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1718)
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:380)
at br.com.riverp.dao.PessoaDAO.buscarPorEmpresa(PessoaDAO.java:25)
at br.com.riverp.Bean.UsuarioBean.popular(UsuarioBean.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.jav
a:105)
at org.primefaces.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(Aj
axBehaviorListenerImpl.java:54)
at javax.faces.event.AjaxBehaviorEvent.processListener(AjaxBehaviorEvent.java:1
13)
at javax.faces.component.behavior.BehaviorBase.broadcast(BehaviorBase.java:106)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:805)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhas
e.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141
)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogVa
lve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce
ssor.java:1099)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac
tProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.jav
a:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:
1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja
va:61)
at java.lang.Thread.run(Unknown Source)