Olá amigos
estou com o seguinte problema:
ago 18, 2020 8:52:34 AM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/clientes-list.xhtml]
org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke public void br.com.webadminimob.bean.ClientesListMB.init() on br.com.webadminimob.bean.ClientesListMB@2668e6c3
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:99)
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:80)
at org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:122)
at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:162)
at org.jboss.weld.util.bean.IsolatedForwardingBean.create(IsolatedForwardingBean.java:45)
at org.omnifaces.cdi.BeanStorage.createBean(BeanStorage.java:62)
at org.omnifaces.cdi.viewscope.ViewScopeManager.createBean(ViewScopeManager.java:115)
at org.omnifaces.cdi.viewscope.ViewScopeManager$Proxy$_$$_WeldClientProxy.createBean(Unknown Source)
at org.omnifaces.cdi.viewscope.ViewScopeContext.get(ViewScopeContext.java:73)
at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:76)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:758)
at org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:107)
at org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:90)
at org.jboss.weld.environment.servlet.util.ForwardingELResolver.getValue(ForwardingELResolver.java:49)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:62)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:94)
at org.apache.el.parser.AstValue.getValue(AstValue.java:137)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:190)
at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIData.getValue(UIData.java:732)
at org.primefaces.component.api.UIData.getDataModel(UIData.java:792)
at org.primefaces.component.datatable.DataTable.loadLazyData(DataTable.java:540)
at org.primefaces.component.datatable.DataTableRenderer.preRender(DataTableRenderer.java:145)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:93)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at org.omnifaces.viewhandler.OmniViewHandler.renderView(OmniViewHandler.java:121)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:181)
at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.github.adminfaces.template.session.AdminFilter.doFilter(AdminFilter.java:153)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:97)
… 82 more
Caused by: java.lang.NullPointerException
at br.com.webadminimob.bean.ClientesListMB.init(ClientesListMB.java:30)
ClientesListMB.java
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.inject.Named;
import org.omnifaces.cdi.ViewScoped;
import org.springframework.beans.factory.annotation.Autowired;
import br.com.webadminimob.model.Cliente;
import br.com.webadminimob.repository.Clientes;
@Named
@ViewScoped
public class ClientesListMB implements Serializable {
private static final long serialVersionUID = 1L;
@Autowired
private Clientes clientes;
private List<Cliente> clientesList = new ArrayList<Cliente>();
@PostConstruct
public void init() {
System.out.println(" Bean executado! ");
this.clientesList = clientes.listClientes();
}
public String getMessage(){
return "Hello World JSF!";
}
public List<Cliente> getClientesList() {
return clientesList;
}
public void setClientesList(List<Cliente> clientesList) {
this.clientesList = clientesList;
}
}
Clientes.java
import java.util.List;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import br.com.webadminimob.model.Cliente;
import br.com.webadminimob.repository.helper.cliente.ClientesQueries;
@Repository
public interface Clientes extends JpaRepository<Cliente, Long>, ClientesQueries {
public Optional<Cliente> findByCpfCnpj(String cpfCnpj);
public List<Cliente> findByNomeStartingWithIgnoreCase(String nome);
}
ClientesQueries.java
import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import br.com.webadminimob.dto.ClienteDTO;
import br.com.webadminimob.model.Cliente;
import br.com.webadminimob.repository.filter.ClienteFilter;
public interface ClientesQueries {
public Page<Cliente> filtrar(ClienteFilter filtro, Pageable pageable);
public List<ClienteDTO> porNome(String nome);
public Long totalClientes ();
public List<Cliente> listClientes();
}
ClientesImpl.java
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import br.com.webadminimob.dto.ClienteDTO;
import br.com.webadminimob.model.Cliente;
import br.com.webadminimob.repository.filter.ClienteFilter;
import br.com.webadminimob.repository.paginacao.PaginacaoUtil;
public class ClientesImpl implements ClientesQueries {
@PersistenceContext
protected EntityManager manager;
@Autowired
private PaginacaoUtil paginacaoUtil;
@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly = true)
public Page<Cliente> filtrar(ClienteFilter filtro, Pageable pageable) {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Cliente.class);
paginacaoUtil.preparar(criteria, pageable);
adicionarFiltro(filtro, criteria);
criteria.addOrder(Order.asc("nome"));
return new PageImpl<>(criteria.list(), pageable, total(filtro));
}
@Override
public List<ClienteDTO> porNome(String nome) {
String jpql = "select new br.com.imobweb.dto.ClienteDTO(nome, codigoCliente, cpfCnpj ) "
+ "from Cliente where lower(nome) like lower(:nome)";
List<ClienteDTO> clientesFiltrados = manager.createQuery(jpql, ClienteDTO.class)
.setParameter("nome", "%" +nome + "%")
.getResultList();
return clientesFiltrados;
}
private Long total(ClienteFilter filtro) {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Cliente.class);
adicionarFiltro(filtro, criteria);
criteria.setProjection(Projections.rowCount());
return (Long) criteria.uniqueResult();
}
@Override
@Transactional(readOnly = true)
public Long totalClientes() {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Cliente.class);
criteria.setProjection(Projections.rowCount());
return (Long) criteria.uniqueResult();
}
private void adicionarFiltro(ClienteFilter filtro, Criteria criteria) {
if (filtro != null) {
if (!StringUtils.isEmpty(filtro.getNome())) {
criteria.add(Restrictions.ilike("nome", filtro.getNome(), MatchMode.ANYWHERE));
}
if (!StringUtils.isEmpty(filtro.getCpfCnpj())) {
criteria.add(Restrictions.eq("cpfCnpj", filtro.getCpfCnpjSemFormatacao()));
}
}
}
@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly = true)
public List<Cliente> listClientes() {
Criteria criteria = manager.unwrap(Session.class).createCriteria(Cliente.class);
criteria.addOrder(Order.asc("id"));
return criteria.list();
}
}
JPAConfig.java
import javax.persistence.EntityManagerFactory;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import br.com.webadminimob.model.Cliente;
import br.com.webadminimob.repository.Clientes;
@Configuration
@ComponentScan(basePackageClasses = Clientes.class)
@EnableJpaRepositories(basePackageClasses = Clientes.class, enableDefaultTransactions = false)
@EnableTransactionManagement
@ComponentScan(basePackageClasses = Clientes.class)
public class JPAConfig {
@Bean
public DataSource dataSource() {
JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
dataSourceLookup.setResourceRef(true);
return dataSourceLookup.getDataSource("jdbc/configDB");
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setDatabase(Database.POSTGRESQL);
adapter.setShowSql(false);
adapter.setGenerateDdl(true);
adapter.setDatabasePlatform("org.hibernate.dialect.PostgreSQL94Dialect");
return adapter;
}
@Bean
public EntityManagerFactory entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) {
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setDataSource(dataSource);
factory.setJpaVendorAdapter(jpaVendorAdapter);
factory.setPackagesToScan(Cliente.class.getPackage().getName());
// factory.setMappingResources(“sql/consultas-nativas.xml”);
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory);
return transactionManager;
}
}
context.xml
<Resource name="jdbc/configDB" auth="Container"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
driverClass="org.postgresql.Driver"
jdbcUrl="jdbc:postgresql://localhost/imobweb?useSSL=false"
user="postgres"
password="xxxxxx"
initialPoolSize="5"
minPoolSize="5"
maxPoolSize="5"
Log da inicialização:
INFO: Initializing Spring root WebApplicationContext
08:49:36.165 INFO org.springframework.web.context.ContextLoader: Root WebApplicationContext: initialization started
08:49:36.204 INFO org.springframework.web.context.support.AnnotationConfigWebApplicationContext: Refreshing Root WebApplicationContext: startup date [Tue Aug 18 08:49:36 BRT 2020]; root of context hierarchy
08:49:36.330 INFO org.springframework.web.context.support.AnnotationConfigWebApplicationContext: Registering annotated classes: [class br.com.webadminimob.config.JPAConfig]
08:49:36.368 INFO org.springframework.web.context.support.AnnotationConfigWebApplicationContext: No annotated classes found for specified class/package []
08:49:37.234 INFO org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor: JSR-330 ‘javax.inject.Inject’ annotation found and supported for autowiring
ago 18, 2020 8:49:37 AM com.mchange.v2.log.MLog
INFO: MLog clients using java 1.4+ standard logging.
com.mchange.v2.cfg.DelayedLogItem [ level -> FINE, text -> “The configuration file for resource identifier ‘/mchange-commons.properties’ could not be found. Skipping.”, exception -> null]
com.mchange.v2.cfg.DelayedLogItem [ level -> FINE, text -> “The configuration file for resource identifier ‘/mchange-log.properties’ could not be found. Skipping.”, exception -> null]
com.mchange.v2.cfg.DelayedLogItem [ level -> FINE, text -> “The configuration file for resource identifier ‘/c3p0.properties’ could not be found. Skipping.”, exception -> null]
ago 18, 2020 8:49:37 AM com.mchange.v2.c3p0.C3P0Registry
INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
08:49:38.282 INFO org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean: Building JPA container EntityManagerFactory for persistence unit ‘default’
08:49:38.384 INFO org.hibernate.jpa.internal.util.LogHelper: HHH000204: Processing PersistenceUnitInfo [
name: default
…]
08:49:38.729 INFO org.hibernate.Version: HHH000412: Hibernate Core {5.1.0.Final}
08:49:38.766 INFO org.hibernate.cfg.Environment: HHH000205: Loaded properties from resource hibernate.properties: {<property=name=“hibernate.hbm2ddl.auto”>update, , <!DOCTYPE=hibernate-configuration PUBLIC, , <?xml=version='1.0' encoding='utf-8'?>, =, =, “-//Hibernate/Hibernate=Configuration DTD//EN”, =, hibernate.bytecode.use_reflection_optimizer=false, “http=//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>, =}
08:49:38.766 INFO org.hibernate.cfg.Environment: HHH000021: Bytecode provider name : javassist
08:49:38.994 INFO org.hibernate.annotations.common.Version: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
ago 18, 2020 8:49:39 AM com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource
INFO: Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kfsxace0mjhrzvtor|17800db0, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsxace0mjhrzvtor|17800db0, idleConnectionTestPeriod -> 0, initialPoolSize -> 5, jdbcUrl -> jdbc:postgresql://localhost/imobweb?useSSL=false, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 5, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {password=******, user=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
08:49:40.331 INFO org.hibernate.dialect.Dialect: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL94Dialect
08:49:40.826 INFO org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
08:49:40.831 INFO org.hibernate.type.BasicTypeRegistry: HHH000270: Type registration [java.util.UUID] overrides previous : org.hibernate.type.UUIDBinaryType@59eaf0c3
08:49:46.992 INFO org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean: Initialized JPA EntityManagerFactory for persistence unit ‘default’
08:49:48.904 INFO org.springframework.web.context.ContextLoader: Root WebApplicationContext: initialization completed in 12738 ms
ago 18, 2020 8:49:49 AM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet ‘dispatcher’
08:49:49.019 INFO org.springframework.web.servlet.DispatcherServlet: FrameworkServlet ‘dispatcher’: initialization started
08:49:49.034 INFO org.springframework.web.context.support.AnnotationConfigWebApplicationContext: Refreshing WebApplicationContext for namespace ‘dispatcher-servlet’: startup date [Tue Aug 18 08:49:49 BRT 2020]; parent: Root WebApplicationContext
08:49:49.037 INFO org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor: JSR-330 ‘javax.inject.Inject’ annotation found and supported for autowiring
08:49:49.995 INFO org.springframework.web.servlet.DispatcherServlet: FrameworkServlet ‘dispatcher’: initialization completed in 976 ms
É como se não estivesse fazendo a conexão com o banco eu acho.
Alguém poderia ajudar?
muito obrigado