-
1. Re: Exception App Web mode Debug
mkouba Sep 5, 2012 4:20 AM (in response to rodnie_rma)Hi Rodnie,
could you provide more info?
I suppose vairableGlobal is the name of a session bean Seam component. And the stack trace shows up this component is not available for EL resolution. So I would inspect the production archive and check components.properties/components.xml files and see what values JBDS used to replace @jndiPattern@. For JBossAS5/EAP5 is should be earName/#{ejbName}/local.
Also check Seam documentation:
-
2. Re: Exception App Web mode Debug
rodnie_rma Sep 5, 2012 9:58 AM (in response to mkouba)Hi Martin,
Thanks for the answer but I think it is not that, the problem occurs when components are in debug <core:init debug="false" jndi-pattern="@jndiPattern@"/>
Attached the info you request.
components.properties:
#
#Fri Aug 05 10:48:54 BOT 2011
jndiPattern=\#{ejbName}/local
embeddedEjb=false
components.xml
<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://jboss.com/products/seam/components"
xmlns:core="http://jboss.com/products/seam/core"
xmlns:mail="http://jboss.com/products/seam/mail"
xmlns:persistence="http://jboss.com/products/seam/persistence"
xmlns:security="http://jboss.com/products/seam/security"
xmlns:web="http://jboss.com/products/seam/web"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.2.xsd http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.2.xsd http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.2.xsd http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.2.xsd http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.2.xsd http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.2.xsd http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.2.xsd http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
<core:init debug="false" jndi-pattern="@jndiPattern@"/>
<core:manager concurrent-request-timeout="500"
conversation-id-parameter="cid" conversation-timeout="120000" parent-conversation-id-parameter="pid"/>
<!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
<web:hot-deploy-filter url-pattern="*.seam"/>
<persistence:managed-persistence-context auto-create="true"
name="entityManager" persistence-unit-jndi-name="java:/sicWeb10EntityManagerFactory"/>
<!--
<drools:rule-base name="securityRules">
<drools:rule-files><value>/security.drl</value></drools:rule-files>
</drools:rule-base>
<security:rule-based-permission-resolver security-rules="#{securityRules}"/> -->
<security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>
<event type="org.jboss.seam.security.notLoggedIn">
<action execute="#{redirect.captureCurrentView}"/>
</event>
<event type="org.jboss.seam.security.loginSuccessful">
<action execute="#{redirect.returnToCapturedView}"/>
</event>
<mail:mail-session debug="true" host="192.0.0.9" password="correo123"
port="25" ssl="false" tls="false" username="rodnie@prueba.com"/>
<web:character-encoding-filter encoding="UTF-8" override-client="true" url-pattern="*.seam"/>
<!-- For use with jBPM pageflow or process management
<bpm:jbpm>
<bpm:process-definitions></bpm:process-definitions>
<bpm:pageflow-definitions></bpm:pageflow-definitions>
</bpm:jbpm>
-->
</components>
Thank you.
regards
-
3. Re: Exception App Web mode Debug
mkouba Sep 5, 2012 10:28 AM (in response to rodnie_rma)I'm not following. You have debug="false" so the seam debug page is not available. What does it mean "when components are in debug"?? IMHO the JNDI pattern in components.properties is wrong for JBoss AS 5. If you don't use JBoss Embeddable EJB3 container (e.g. for testing) try to replace @jndiPattern@ in components.xml with youEarName/#{ejbName}/local (skip JBDS). HTH
-
4. Re: Exception App Web mode Debug
rodnie_rma Sep 5, 2012 11:03 AM (in response to rodnie_rma)Tell me something that I'm working with a project War. And defined debug = false to bring to production Web APP
-
5. Re: Exception App Web mode Debug
mkouba Sep 5, 2012 11:51 AM (in response to rodnie_rma)I'm sorry. I'm afraid I don't understand your english. If you use WAR you can't use EJBs in EE 5 and thus jndiPattern is pointless.
-
6. Re: Exception App Web mode Debug
rodnie_rma Sep 5, 2012 2:38 PM (in response to rodnie_rma)Summarizing:
In JBDS ide (JBoss Developer Studio) generate a Seam Web project type and War Project, this app is ready but I need to disable debug.seam in production. I have heard that in components.xml <core:init the option is disabled debug="false"/> debug.seam
-
7. Re: Exception App Web mode Debug
mkouba Sep 6, 2012 2:34 AM (in response to rodnie_rma)Yep, that's true. debug=false disables debug mode and also the seam debug page. Finally we understand each other
Try to check whether the component is not debug-only -> is annotated with @Install(debug=true) -> such components are installed (and available in EL) in debug mode only.
-
8. Re: Exception App Web mode Debug
rodnie_rma Sep 6, 2012 10:53 AM (in response to rodnie_rma)Add the annotation @ Install the component variablesGlobales and still have the same problem. Attached file
/**
* @name: Rodnie Montaño
* Objetivo: Almacenar Imágen del empleado
* Fecha: 01/09/2011
*/
/**
* @name: Rodnie Montaño
* Objetivo: Almacenar Rol del Usuario
* Fecha: 27/09/2011
*/
@In EntityManager entityManager = null;
@In VariablesGlobales variableGlobal;
private static final long serialVersionUID = -8761451274655157579L;
private String nombreUsuario;
private int agenciaId;
private int usuarioId;
private int rolId;
private String idiomaUsuario;
private String emailUsuario;
private String rolUsuario;
private String paginaInicial;
private long funcionarioId;
private String nombreAgencia;
private String codigoAgencia;
private GenCompania empresa;
private String ipUsuario;
private String existeSession="N";
private byte[] foto;
private String fotoVacio;
private boolean consulta;
private boolean alta;
private boolean modificacion;
private boolean baja;
private List<SegRolesAtributos> listaRolesAtributos = new ArrayList<SegRolesAtributos>();
private HtmlToolBar barraMenuHorizontal = new HtmlToolBar();
private String saludoUsuario;
public String getNombreUsuario() {
return nombreUsuario;
}
public void setNombreUsuario(String nombreUsuario) {
this.nombreUsuario = nombreUsuario;
}
public int getAgenciaId() {
return agenciaId;
}
public void setAgenciaId(int agenciaId) {
this.agenciaId = agenciaId;
}
public int getUsuarioId() {
return usuarioId;
}
public void setUsuarioId(int usuarioId) {
this.usuarioId = usuarioId;
}
public int getRolId() {
return rolId;
}
public void setRolId(int rolId) {
this.rolId = rolId;
}
public long getFuncionarioId() {
return funcionarioId;
}
public void setFuncionarioId(long funcionarioId) {
this.funcionarioId = funcionarioId;
}
public String getNombreAgencia() {
return nombreAgencia;
}
public void setNombreAgencia(String nombreAgencia) {
this.nombreAgencia = nombreAgencia;
}
public String getCodigoAgencia() {
return codigoAgencia;
}
public void setCodigoAgencia(String codigoAgencia) {
this.codigoAgencia = codigoAgencia;
}
public void setEmpresa(GenCompania empresa) {
this.empresa = empresa;
}
public GenCompania getEmpresa() {
return empresa;
}
public void setBarraMenuHorizontal(HtmlToolBar barraMenuHorizontal) {
this.barraMenuHorizontal = barraMenuHorizontal;
}
public HtmlToolBar getBarraMenuHorizontal() {
/*
System.out.print("CODIGO DE USUARIO EN SESSION.."+usuarioId);
boolean cargar=false;
if("N".equals(existeSession)){
System.out.print("NO CARGAR MENU TIENE ITEMS.."+cargar);
cargar=false;
}else{
System.out.print("SI CARGAR MENU TIENE ITEMS.."+cargar);
cargar=true;
}
/*
if(usuarioId > 0){
System.out.print("SI CARGAR MENU TIENE ITEMS.."+cargar);
cargar=true;
}else{
System.out.print("NO CARGAR MENU TIENE ITEMS.."+cargar);
cargar=false;
}
*/
return barraMenuHorizontal;
}
public void setPaginaInicial(String paginaInicial) {
this.paginaInicial = paginaInicial;
}
public String getPaginaInicial() {
return paginaInicial;
}
public void setIdiomaUsuario(String idiomaUsuario) {
this.idiomaUsuario = idiomaUsuario;
}
public String getIdiomaUsuario() {
return idiomaUsuario;
}
public void setEmailUsuario(String emailUsuario) {
this.emailUsuario = emailUsuario;
}
public String getEmailUsuario() {
return emailUsuario;
}
public void setRolUsuario(String rolUsuario) {
this.rolUsuario = rolUsuario;
}
public String getRolUsuario() {
return rolUsuario;
}
public void setExisteSession(String existeSession) {
this.existeSession = existeSession;
}
public String getExisteSession() {
return existeSession;
}
public void setFoto(byte[] foto) {
this.foto = foto;
}
public byte[] getFoto() {
return foto;
}
public void setFotoVacio(String fotoVacio) {
this.fotoVacio = fotoVacio;
}
public String getFotoVacio() {
this.fotoVacio = "/img/usuario.gif";
return fotoVacio;
}
public String getIpUsuario() {
return ipUsuario;
}
public void setIpUsuario(String ipUsuario) {
this.ipUsuario = ipUsuario;
}
public void setConsulta(boolean consulta) {
this.consulta = consulta;
}
public boolean getConsulta() {
return consulta;
}
public void setAlta(boolean alta) {
this.alta = alta;
}
public boolean getAlta() {
return alta;
}
public void setModificacion(boolean modificacion) {
this.modificacion = modificacion;
}
public boolean getModificacion() {
return modificacion;
}
public void setBaja(boolean baja) {
this.baja = baja;
}
public boolean getBaja() {
return baja;
}
public void setListaRolesAtributos(List<SegRolesAtributos> listaRolesAtributos) {
this.listaRolesAtributos = listaRolesAtributos;
}
public List<SegRolesAtributos> getListaRolesAtributos() {
return listaRolesAtributos;
}
public boolean permisoAtributo(String pAtributo)
{
boolean resultado = false;
for (SegRolesAtributos oRolesAtributos : listaRolesAtributos)
{
if (oRolesAtributos.getSegAtributosPantalla().getAtributoPantallaId().equals(pAtributo))
{
resultado = true;
}
}
return resultado;
}
public void setSaludoUsuario(String saludoUsuario) {
this.saludoUsuario = saludoUsuario;
}
public String getSaludoUsuario() {
return saludoUsuario;
}
}