[Resolvido] Erro com Hibernate

5 respostas
Polverini

Pessoal estou com um problema no hibernate e nao consigo solucionar.

Reconstrui a aplicação e funcionou porem de uma hora para outra parou.

Estou usando o Glassfish 3.2 + JSF 2.0 + EJB + CDI + JPA

Segue Trace:

SEVERE: Exception while loading the app
WARNING: Exception while dispatching an event
java.lang.NullPointerException
	at org.hibernate.internal.CoreMessageLogger_$logger.closing(CoreMessageLogger_$logger.java:3054)
	at org.hibernate.internal.SessionFactoryImpl.close(SessionFactoryImpl.java:1320)
	at org.hibernate.ejb.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:194)
	at org.glassfish.persistence.jpa.JPADeployer.closeEMFs(JPADeployer.java:417)
	at org.glassfish.persistence.jpa.JPADeployer.event(JPADeployer.java:408)
	at org.glassfish.kernel.event.EventsImpl$1.run(EventsImpl.java:120)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

SEVERE: Exception while loading the app : org.jboss.weldx.transaction.UserTransaction$-[telefone removido]$Proxy$_$$_Weld$Proxy$ cannot be cast to javassist.util.proxy.ProxyObject
java.lang.ClassCastException: org.jboss.weldx.transaction.UserTransaction$-[telefone removido]$Proxy$_$$_Weld$Proxy$ cannot be cast to javassist.util.proxy.ProxyObject
	at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:249)
	at org.jboss.weld.bean.builtin.ee.AbstractEEBean.<init>(AbstractEEBean.java:43)
	at org.jboss.weld.bean.builtin.ee.UserTransactionBean.<init>(UserTransactionBean.java:52)
	at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:190)
	at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:350)
	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:179)
	at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
	at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:277)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:460)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
	at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
	at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
	at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
	at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:722)

5 Respostas

Hebert_Coelho

De uma hora para outra parar eu não acredito.

Eu creio em houve alteração em algo. De código, de ambiente, de configuração… alguma coisa mudou.

Teve alguma alteração em alguma classe, mesmo que boba?

Polverini

sim adicionei classes com herança, segue:

@Entity
@Table(name = "HEADSET", catalog = "", schema = "ASK")
public class Headset extends Patrimonio implements Serializable {

    public Headset() {
    }
}
@Entity
@Table(name = "PATRIMONIO", catalog = "", schema = "ASK")
@Inheritance(strategy = InheritanceType.JOINED)
public class Patrimonio implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @NotNull(message = "Informe o Número do Patrimônio")
    @Column(name = "NUM_PATRIMONIO")
    private BigDecimal numPatrimonio;
    @Size(max = 1000)
    @Column(name = "DESCRICAO", length = 1000, nullable = true)
    private String descricao;
    @NotNull(message = "Informe se o Patrimônio está funcionando")
    @Column(name = "FUNCIONAL")
    @Enumerated(EnumType.ORDINAL)
    private EnumAtivo funcional;
    @NotNull(message = "Informe o Número de Série")
    @Size(min = 1, max = 255)
    @Column(name = "NUM_SERIE", nullable = false)
    private String numSerie;
    @ManyToOne(optional = true)
    private Setor fkSetor;

    public BigDecimal getNumPatrimonio() {
        return numPatrimonio;
    }

    public void setNumPatrimonio(BigDecimal numPatrimonio) {
        this.numPatrimonio = numPatrimonio;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public EnumAtivo getFuncional() {
        return funcional;
    }

    public void setFuncional(EnumAtivo funcional) {
        this.funcional = funcional;
    }

    public String getNumSerie() {
        return numSerie;
    }

    public void setNumSerie(String numSerie) {
        this.numSerie = numSerie;
    }

    public Setor getFkSetor() {
        return fkSetor;
    }

    public void setFkSetor(Setor fkSetor) {
        this.fkSetor = fkSetor;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 23 * hash + Objects.hashCode(this.numPatrimonio);
        hash = 23 * hash + Objects.hashCode(this.descricao);
        hash = 23 * hash + (this.funcional != null ? this.funcional.hashCode() : 0);
        hash = 23 * hash + Objects.hashCode(this.numSerie);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Patrimonio other = (Patrimonio) obj;
        if (!Objects.equals(this.numPatrimonio, other.numPatrimonio)) {
            return false;
        }
        if (!Objects.equals(this.descricao, other.descricao)) {
            return false;
        }
        if (this.funcional != other.funcional) {
            return false;
        }
        if (!Objects.equals(this.numSerie, other.numSerie)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Patrimonio{" + "numPatrimonio=" + numPatrimonio + ", descricao=" + descricao + ", funcional=" + funcional + ", numSerie=" + numSerie + '}';
    }
}

já retirei mas nao funciona

Hebert_Coelho

hum… já achamos alguma coisa então…

Faz o seguinte.

Vai retirando todas as alterações até a última versão que funcione… Assim que o código voltar a funcionar, adicione uma a uma. Você irá achar o problema rapidinho! :wink:

Polverini

tirei tudo e nao deu certo ate agora, se eu recrio o projeto ele funciona mas depois começa o erro de novo.

Polverini

@jakefrog eu copiei a pasta do projeto, deletei a existente, criei uma nova, copiei tudo la dentro e pronto funcionou.

Em alguns sites vi problemas parecidos mas com jboss, nesse caso deveria ser retirada a classe javaassist mas nao funciona com o glass.

Obrigado pela ajuda

Criado 21 de agosto de 2012
Ultima resposta 22 de ago. de 2012
Respostas 5
Participantes 2