Re:Problemas ao rodar projeto CRUD JEE

Você verificou o log do servidor?
Poderias postar ele aqui?

Então pelo erro que deu “jdbc/crud_jee__pm” faltou vc startar seu servidor glassfish e criar o pool de conexao no servidor.

Nesse exemplo desse link mostra como fazer no glassfish, configure la tudo certinho pois é bem simples.

vá na aba do glassfish e coloca o erro aqui pra mim.

então cara no seu mapeamento que vc fez no glassfish tem que estar com o mesmo nome no mapeamento da aplicação. Pois no seu ele não encontrou.

Pelo erro java.lang.RuntimeException: Invalid resource : jdbc/crud_jee__pm

Olha a linha , o jndi-name e pool-name tem que estar igual vc configurou no glassfish

Veja como o cara configurou o jndi e pool no glassfish nesse link http://docs.jelastic.com/glassfish-connection-pool

Olá Pessoal,

Estou tendo problemas ao rodar um CRUD feito em JEE.
Tentei de diversas maneiras fazer funcionar mas não tem jeito.

Eu consegui rodar tranquilamente a plataforma JEE crua, com servidor Glassfish, porém ao adicionar outros componentes como DAO, Beans para fazer a conexão com o Banco de Dados, passou a dar problemas e com isso não consegui mais fazer carregar de forma correta.

Segue abaixo o erro:

Implantação local em C:\Users\Danilo\Documents\NetBeansProjects\CRUD\CRUD-war\build\web
GlassFish Server 4.1, deploy, null, false
C:\Users\Danilo\Documents\NetBeansProjects\CRUD\CRUD-war\nbproject\build-impl.xml:1051: O módulo não foi implantado.
Verifique o log do servidor para ver mais detalhes.
FALHA NA CONSTRUÇÃO (tempo total: 5 segundos)

E antes que alguém pergunte…
Eu cliquei sim no botão “Limpar e Construir Projeto” e o mesmo retornou sucesso.

Segue abaixo imagem da tela para poder analisar melhor.

OBS: O banco de dados usado é o MySql e está rodando normal.

Oi FKoehler.

Bem, se eu clico no link “…CRUD\nbproject\build-impl.xml:307” cai no seguinte código:

<target depends="-init-cos,dist-directory-deploy,pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,post-run-deploy" name="run-deploy"/> <target if="netbeans.home" name="-run-deploy-nb"> <nbdeploy clientModuleUri="${client.module.uri}" clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/> </target> <target name="-init-deploy-ant" unless="netbeans.home"> <property name="deploy.ant.archive" value="${dist.jar}"/> <property name="deploy.ant.resource.dir" value="${resource.dir}"/> <property name="deploy.ant.enabled" value="true"/> </target>

Já na aba Glassfish tem isso:

at java.lang.Thread.run(Thread.java:745) Caused by: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : jdbc/crud_jee__pm at org.glassfish.jdbcruntime.service.JdbcDataSource.validateResource(JdbcDataSource.java:81) at org.glassfish.jdbcruntime.service.JdbcDataSource.setResourceInfo(JdbcDataSource.java:62) at org.glassfish.jdbcruntime.JdbcRuntimeExtension.lookupDataSourceInDAS(JdbcRuntimeExtension.java:136) at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:589) ... 59 more

Não sei se é isso que você quer saber?

Vendo o erro do Glassfish parece que tem alguma falha na conexão com o banco de dados, certo?
Só que meu banco está rodando corretamente e todos os dados do arquivo java criado (DAO) estão corretos.

Segue imagem abaixo para ver como o banco está rodando normal.

Por gentileza, alguém poderia me ajudar?

Ok eduJava, era a pool de conexão no Glassfish que estava faltando mesmo.
Porém continua dando o mesmo erro no console do NetBeans na aba Glassfish:

Iniciando GlassFish Server 4.1
GlassFish Server 4.1 está em execução.
Implantação inicial de CRUD até C:\Users\Danilo\Documents\NetBeansProjects\CRUD\dist\gfdeploy\CRUD
Distribuição inicial do CRUD completada
GlassFish Server 4.1, deploy, null, false
C:\Users\Danilo\Documents\NetBeansProjects\CRUD\nbproject\build-impl.xml:307: O módulo não foi implantado.
Verifique o log do servidor para ver mais detalhes.
FALHA NA CONSTRUÇÃO (tempo total: 27 segundos)

Só me esclarece uma dúvida, aquela parte la do tutorial que vc passou, nas propriedades, o campo URL está assim:
URL: jdbc:mysql://localhost:3306/booreg

No caso esse seria um exemplo que eles colocaram no site, certo?
Agora no meu eu teria que colocar o mesmo endereço de conexao que eu criei no NetBeans, certo?
Ficando assim:
jdbc:mysql://localhost:3306/crud_jee?zeroDateTimeBehavior=convertToNull

Bem, eu coloquei isso e depois cliquei no botão “Ping” e deu sucesso, acredito eu que está certo.

Só que ainda não está rodando o projeto com a conexão MySql.
Poderia por gentileza, me dizer se precisa fazer mais algum ajuste no código do projeto? (EJB)

Como é muita coisa, estou enviando a parte final:

Informações: visiting unvisited references
Informações: visiting unvisited references
Grave: Exception while preparing the app : Invalid resource : jdbc/crud_jee__pm
java.lang.RuntimeException: Invalid resource : jdbc/crud_jee__pm
at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:593)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:517)
at org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
at org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.(PersistenceUnitInfoImpl.java:108)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:142)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.(PersistenceUnitLoader.java:107)
at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925)
at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:309)
at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:88)
at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:155)
at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:152)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:232)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:241)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:267)
at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:152)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:434)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: Invalid resource : jdbc/crud_jee__pm
at org.glassfish.jdbcruntime.service.JdbcDataSource.validateResource(JdbcDataSource.java:81)
at org.glassfish.jdbcruntime.service.JdbcDataSource.setResourceInfo(JdbcDataSource.java:62)
at org.glassfish.jdbcruntime.JdbcRuntimeExtension.lookupDataSourceInDAS(JdbcRuntimeExtension.java:136)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:589)
… 59 more

Informações: Inicializando Mojarra 2.2.7 ( 20140610-1547 https://svn.java.net/svn/mojarra~svn/tags/2.2.7@13362) para o contexto ''
Informações: Loading application [__admingui] at [/]
Informações: Loading application __admingui done in 12.918 ms

Certo eduJava.

Eu percebi depois que poderia ser isso ai, tanto que eu coloquei o nome do jndi e da pool nas configurações de outro projeto que testei, porém também não deu certo.

Acessei o site que vc passou, só que o codigo deles se refere a outro sistema (jelastic), já no meu o código de configuração Java é diferente.

Sendo assim, estou enviado o erro que está dando agora no Glassfish e o código de configuração.

glassfish-resources.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="MyDatabase" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
        <property name="serverName" value="localhost"/>
        <property name="portNumber" value="3306"/>
        <property name="databaseName" value="crud_jee"/>
        <property name="User" value="root"/>
        <property name="Password" value=""/>
        <property name="URL" value="jdbc:mysql://localhost:3306/crud_jee"/>
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    </jdbc-connection-pool>
    <jdbc-resource enabled="true" jndi-name="CrudJEE" object-type="user" pool-name="MyDatabase"/>
</resources>

Só avisando que eu já criei o jndi “CrudJEE” e a pool “MyDatabase” no meu Glassfish.

Então aparentemente agora está certo.
Verifique em todas as configurações de todos os projetos que estão subindo onde ele seta esse valor “jdbc/crud_jee__pm” e faça a correção.

Ok eduJava.
Fiz a consulta por essa palavra-chave em todo o projeto, mas não achou nada.

Eu já reiniciei tudo aqui, limpei e construi o projeto, startei o banco mysql e glassfish no netbeans, mas o erro continua.
Sinceramente eu não sei mais o que fazer para rodar esse projeto.

Desculpe eu ficar te incomodando, mas se eu enviasse o projeto todo compactado, vc poderia testa-lo ai em seu computador pra ver se consegue rodar?

Cara, eu tentei… retentei… criar um novo projeto do zero criando uma nova conexao mysql no netbeans e após criar um novo jndi.
Porém, eu percebi que qdo eu crio a nova conexao (pool) e crio o novo nome (jndi) não aparece no meu GlassFish qdo eu acesso via browser (http://localhost:4848/)

Porque será?
Tudo que eu criar no netbeans, não era pra automaticamente sincronizar e criar a conexão no servidor Glassfish?

Outra coisa que eu estou achando estranho é que qdo eu seleciono a conexão já criada manualmente la no meu Glassfish no netbeans da erro.
Sim, se eu clico com direito em “Novo/Classe de Entidade de Banco de Dados”, ai ao selecionar a Fonte de Dados: CRUDJEE (que é a que eu criei no Glassfish) dá erro.

Pow, será que é tão dificil assim fazer um projeto JEE rodar no NetBeans?
Estou usando o Netbeans 8 e Windows 10.

Eu me lembro que na época que comecei a estudar Java EE eu também tive os meus problemas com uma versão anterior do NetBeans e Windows 7. Ai acabei desistindo de seguir em frente.

Agora estou enfrentando novamente as mesmas dificuldades, e não acho em lugar nenhum na internet como fazer isso funcionar de forma correta.

Ta vamos lá
Configure no http://localhost:4848/ o data source e pool (não faça via xml igual vc fez, vá direto no servidor)
Crie um projeto do zero no glassfish.(E não configure as conexões, deixe ele puro, sem classe sem nada)
Crie uma classe java que vai ser executada quando startar o servidor ou quando vc executar uma requisição.

nela coloque isso

Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(“jdbc/seuDatasource”);

nessa variavel ds deve conter seu datasource, se der erro ou ficar nulo é pq se ta fazendo coisa errada rsrs

Ok eduJava.

Eu só não entendi em qual classe você está dizendo para colocar esse trecho de código? Entitie, Model, Controller?

Bem, ontem eu fiquei aqui mexendo e remexendo, até felizmente fazer o projeto rodar!
Eu vou postar aqui como eu fiz, para caso futuramente haja alguém com a mesma dificuldade que tive.
Segue abaixo a solução no NetBeans:

1- Crie o projeto Java EE (Aplicação Enterprise), sem criar nenhuma classe nova.
2- Após, clique em “Limpar e Construir Projeto”. Ao dar sucesso, clique depois em “Executar Projeto”.
Isso fará com que o Glassfish seja startado.
3- Agora abra o Glassfish acessando pelo navegador:
http://localhost:4848/
Vá em “Resources/JDBC/JDBC Connection Pools”, crie a conexão ao banco de dados (pool).
Depois vá em “Resources/JDBC/JDBC Resources”, crie um nome para o “jndi” e selecione a pool criada anteriormente.
4- Feito as configurações necessárias no Glassfish, ai sim, crie uma nova classe no EJB para fazer a conexão com essa pool criada.
Clique com o direito vá até “Novo/Classe de Entidade do Bando de Dados”, em Fonte de Dados, agora é para aparece o jndi que acabou de criar no Glassfish. Selecione ele, depois escolha a tabela e finalize.

O restante é só seguir conforme sua programação, eu não vou me estender nessa parte, porque o objetivo aqui deste tópico é criar a conexão e fazer ela funcionar.

Agora não me pergunte porque essa conexão não dá para fazer direto na IDE do NetBeans porque eu não sei. Era para funcionar também, mas… aqui para mim não funcionou (acho que deve ser algum bug da IDE).

Então, tudo é fácil a gente que complica. O seu problema é falta de conhecimento de parte técnica, mas que todo dia vai melhorando. Segundo que o netbeans não presta, ja trabalhei com ele anos atrás e hoje prefiro o eclipse.
Outra coisa SE o seu problema era criar uma conexao com o banco bastava vc fazer isso(abaixo) e pronto vc ja tinha uma conexão, não precisaria configurar nada.

Mais no seu caso vc está criando um pool de conexões que dá um pouco mais de trabalho, porém bem simples como vc mesmo descreveu.
Cara as coisas em java são assim mesmo, as vezes a gente se bate um monte e depois de uns anos vc vê como era simples.

hehehe, tem razão eduJava.

Na verdade eu conheço Java a anos, desde o tempo da faculdade, porém como eu trabalhava com outra linguagem de programação (PHP) eu não pratiquei mais.
Sei que o Java antigamente era bem mais chatinho de programar, praticamente tudo tinha que fazer na mão.
Hoje a realidade é outra, depois desse lançamento do JEE7 as coisas mudaram em muito, tanto que agora com a plataforma pronta, fica tudo mais organizado e muito mais simples de programar, além de ser rápido é claro.
O mesmo é agora com .Net pra Asp e C#, além da linguagem ter avançado bastante a plataforma .Net facilita bastante.

Eu comecei a estudar JEE ano passado (Asp.Net e C# esse ano). Mas como eu lhe disse, não tive sucesso em fazer o projeto JEE rodar de forma correta, havia certas partes que eu fiquei trancado.
Agora conseguindo fazer um CRUD simples com conexão com o banco e tudo mais, ai sim me vejo com mais domínio em programar na linguagem.
O resto é questão de pratica como vc mesmo comentou (conhecimentos em OO, interface, padrões de desenvolvimento e sintase da linguagem).

É isso!
Muito obrigado pela ajuda que tem me dado eduJava, acredito que daqui pra frente eu consigo me virar.

E claro… estou na luta ainda por um emprego… pq esses últimos meses ta osso de conseguir algo por conta dessa crise!

Cara, desculpe eu ficar te alugando, mas agora estou com outro problema…

Eu consegui fazer rodar o projeto e com isso listar os produtos na tela.
Agora o problema está sendo em “adicionar” para assim salvar os dados no banco.

Está dando o seguinte erro:

An Error Occurred:
javax.ejb.EJBException
- Stack Trace

javax.faces.el.EvaluationException: javax.ejb.EJBException
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	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(InvokeApplicationPhase.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:646)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javax.ejb.EJBException
	at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)
	at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:503)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy227.create(Unknown Source)
	at model.__EJB31_Generated__ProdutoFacade__Intf____Bean__.create(Unknown Source)
	at controller.ProdutoController.add(ProdutoController.java:42)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at javax.el.ELUtil.invokeMethod(ELUtil.java:332)
	at javax.el.BeanELResolver.invoke(BeanELResolver.java:537)
	at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
	at com.sun.el.parser.AstValue.invoke(AstValue.java:283)
	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
	... 36 more
Caused by: javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'prePersist'. Please refer to embedded ConstraintViolations for details.
	at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.validateOnCallbackEvent(BeanValidationListener.java:90)
	at org.eclipse.persistence.internal.jpa.metadata.listeners.BeanValidationListener.prePersist(BeanValidationListener.java:62)
	at org.eclipse.persistence.descriptors.DescriptorEventManager.notifyListener(DescriptorEventManager.java:748)
	at org.eclipse.persistence.descriptors.DescriptorEventManager.notifyEJB30Listeners(DescriptorEventManager.java:691)
	at org.eclipse.persistence.descriptors.DescriptorEventManager.executeEvent(DescriptorEventManager.java:229)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectClone(UnitOfWorkImpl.java:4316)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4293)
	at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:518)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4235)
	at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:496)
	at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:287)
	at model.AbstractFacade.create(AbstractFacade.java:25)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
	at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 51 more

Só para você entender melhor o que eu estou fazendo, eu estou seguinte esse vídeo:

Ou seja, estou tentando rodar um simples CRUD JEE com EJB.

Tem algum dado que voce está enviando que está caindo no bean validation.

Veja se nas classes de dominio tem aquelas anotacoes @NotNull, @Size, etc… pra inserir, tem que passar por esses tipos de validacao