This web container has not yet been started

2 respostas
M

Olá pessoal. Estou desenvolvendo uma aplicação com JSF, CDI, JPA e GlassFish 4.1.1

No ambiente de desenvolvimento acontece tudo como deveria. Porém quando levo a aplicação para um servidor externo. O servidor retorna o seguinte erro.

E o engraçado que é só em algumas chamadas.

query.getResultList() = >Exception occurred in target VM: This web container has not yet been started<

Segue classe que está dando erro.

`/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.dao;

import br.com.model.Ncm;
import java.io.Serializable;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.persistence.TypedQuery;

/**
 *
 * @author Matheus
 */
public class NcmDao implements Serializable {

    @PersistenceContext(unitName = "Base")
    private EntityManager em;

    public Ncm findById(Integer id) {
        TypedQuery<Ncm> query = em.createNamedQuery("Ncm.findById", Ncm.class);
        query.setParameter("id", id);
        try {
            return query.getSingleResult();
        } catch (NoResultException e) {
            return null;
        }
    }

    public List<Ncm> findByLikeNcmOnVinculo(String ncm) {
        Query query = em.createNativeQuery("SELECT * FROM ncm as n\n"
                + "INNER JOIN tributacao_icms as ti on ti.id_ncm = n.id\n"
                + "LEFT JOIN produto as p on p.id_ncm = ti.id_ncm\n"
                + "WHERE replace(n.ncm,'.','') LIKE ?1\n"
                + "AND p.id_ncm is NULL\n"
                + "ORDER BY ncm ASC", Ncm.class);
        query.setParameter(1, ncm + "%");
        return query.getResultList();
    }

    public List<Ncm> findByLikeNcm(String ncm) {
        Query query = em.createNativeQuery("SELECT * FROM ncm c WHERE replace(c.ncm,'.','') LIKE ?1 ORDER BY ncm ASC", Ncm.class);
        query.setParameter(1, ncm + "%");
        return query.getResultList();
    }

    public List<Ncm> findByLikeDescricao(String desc) {
        TypedQuery<Ncm> query = em.createQuery("SELECT n FROM Ncm n WHERE UPPER(n.descricao) LIKE :desc", Ncm.class);
        query.setParameter("desc", "%" + desc.toUpperCase() + "%");
        return query.getResultList();
    }
}

`

2 Respostas

peczenyj

Cara em um forum gringo teve um cara q resolveu assim:

nas propriedades do hibernate

<property name="hibernate.classloading.use_current_tccl_as_parent" value="false" />

agora vc precisa dar uma estudada se realmente vai resolver e quais os efeitos colaterais

M

Obrigado! No momento não estou mais este problema. O que fiz foi básica fazer o undeploy e imlantar novamente. A única coisa que mudei foi o nome da aplicação no momento da implantação no glassfish.

Nota: mudei apenas o final do arquivo war. Mudei “irai_contabilidade-1.0.war” para “irai_contabilidade.war” e voltou a funcionar.

Mas fica sua dica caso tenha problemas novamente. Eu esperimento e comento o resultado.

Criado 7 de dezembro de 2016
Ultima resposta 7 de dez. de 2016
Respostas 2
Participantes 2