[JBoss Seam] - Persistence unit not bound
by daleth
I'm using SEAM 1.1 with the embedded EJB container running inside Tomcat (JBoss Tomcat for development and plain ol' Apache Tomcat at the customer's site). For the purposes of development I'm using an in-memory HSQLDB database defined in jboss-beans.xml.
Everything seems to start up fine, I see all my entity and stateless session beans get created, I see the datasource I define get created and get bound under the given JNDI name. However, when I try to load a page that uses a stateless bean I get an exception that a bean can not be instantiated with a root cause of:
javax.naming.NameNotFoundException: portal not bound
where "portal" is the name of my persistence context.
Any suggestions? I imagine I'm either missing some nuance about how these config files are working together or incorrectly assuming that the "portal" referred to in the error is the "portal" persistence unit.
Thanks.
jboss-beans.xml - define the data source w/ JNDI name
| <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
| xmlns="urn:jboss:bean-deployer">
|
| <bean name="PortalDatasourceBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource">
| <property name="driverClass">org.hsqldb.jdbcDriver</property>
| <property name="connectionURL">jdbc:hsqldb:mem:portal</property>
| <property name="userName"><value class="java.lang.String">sa</value></property>
| <property name="password"><value class="java.lang.String"></value></property>
| <property name="jndiName">java:/PortalDatasource</property>
| <property name="minSize">0</property>
| <property name="maxSize">10</property>
| <property name="blockingTimeout">1000</property>
| <property name="idleTimeout">100000</property>
| <property name="transactionManager"><inject bean="TransactionManager"/></property>
| <property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property>
| <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property>
| </bean>
|
| <bean name="PortalDatasource" class="java.lang.Object">
| <constructor factoryMethod="getDatasource">
| <factory bean="PortalDatasourceBootstrap"/>
| </constructor>
| </bean>
|
| </deployment>
|
components.xml - create entity manager and bind to JNDI
| <components xmlns="http://jboss.com/products/seam/components"
| xmlns:core="http://jboss.com/products/seam/core"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.1.xsd
| http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.1.xsd">
|
| <core:init jndi-pattern="@jndiPattern@" debug="true" />
|
| <core:pages no-conversation-view-id="/main.xhtml" />
|
| <core:manager conversation-timeout="120000"
| concurrent-request-timeout="500" conversation-id-parameter="cid"
| conversation-is-long-running-parameter="clr" />
|
| <core:ejb installed="true" />
|
| <core:managed-persistence-context name="PortalDatabase"
| auto-create="true"
| persistence-unit-jndi-name="java:/PortalEntityManagerFactory" />
|
| <component name="StringConverter"
| class="javax.faces.convert.CharacterConverter" />
|
| </components>
|
persistence.xml - Define persistence unit reference datasource and entity manager
| <persistence>
| <persistence-unit name="portal">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/PortalDatasource</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="update"/>
| <property name="hibernate.cache.use_query_cache" value="true"/>
| <property name="hibernate.show_sql" value="true"/>
| <property name="jboss.entity.manager.factory.jndi.name" value="java:/PortalEntityManagerFactory"/>
| </properties>
| </persistence-unit>
|
| </persistence>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994492#3994492
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994492
19 years, 4 months
[Installation, Configuration & Deployment] - 10:53:55, 671 ERROR [MainDeployer] could not create deploymen
by manoharshetty
I successfully deploy my application in jboss 4.0 ,but when I start JBOSS I get the following error.Please help.
Thanks Manohar.
Bean : Trader
Section: 22.2
Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb-class> element.
Info : Class not found on 'com.genuitec.trader.ejb.TraderSession': Unexpected error during load of: com.genuitec.trader.ejb.TraderSession, msg=com/genuitec/trader/ejb/TraderSession (Unsupported major.minor version 49.0)
10:53:55,671 ERROR [MainDeployer] could not create deployment: file:/C:/j2ee/jboss-4.0.0/server/default/deploy/firstejb.jar/
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:553)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:889)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:745)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy8.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:305)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:481)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:204)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:277)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:416)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:261)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:693)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:396)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:293)
at org.jboss.Main.boot(Main.java:151)
at org.jboss.Main$1.run(Main.java:405)
at java.lang.Thread.run(Thread.java:534)
10:53:55,703 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=file:/C:/j2ee/jboss-4.0.0/server/default/deploy/jmx-console.war/
10:53:56,062 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=file:/C:/j2ee/jboss-4.0.0/server/default/deploy/management/web-console.war/
10:53:57,375 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
Incompletely deployed packages:
org.jboss.deployment.DeploymentInfo@aa0ccc37 { url=file:/C:/j2ee/jboss-4.0.0/server/default/deploy/firstejb.jar/ }
deployer: org.jboss.ejb.EJBDeployer@15af049
status: Deployment FAILED reason: Verification of Enterprise Beans failed, see above for error messages.
state: FAILED
watch: file:/C:/j2ee/jboss-4.0.0/server/default/deploy/firstejb.jar/META-INF/ejb-jar.xml
altDD: null
lastDeployed: 1166370835468
lastModified: 1166370475093
mbeans:
10:53:57,609 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
10:53:57,828 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009
10:53:57,843 INFO [JkMain] Jk running ID=0 time=0/62 config=null
10:53:57,859 INFO [Server] JBoss (MX MicroKernel) [4.0.0 (build: CVSTag=JBoss_4_0_0 date=200409200418)] Started in 21s:484ms
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994491#3994491
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994491
19 years, 4 months
[JBoss Seam] - seam-gen generates java.lang.StackOverflowError on self refe
by jdijkmeijer
Hi,
I've been playing with (seam-)gen the last few days and today I decided to upgrade to Seam 1.1 GA. I was very impressed by its capabilities, however with the last release I run into an stackoverflow error doing seam generate-entites which didn't occur on the CR2 release. The tables I refer to are self referential (child parent) and leaving out the reference to itself solves the problem but that's not realy an option for me now.
| create table if not exists subject (
| subjectid INTEGER NOT NULL AUTO_INCREMENT
| , info varchar(150)
| , firstname varchar(50)
| , lastname varchar(50) NOT NULL
| , email varchar(70)
| , PRIMARY KEY (subjectid)
| ) TYPE = InnoDB;
|
| create table if not exists role (
| roleid INTEGER NOT NULL AUTO_INCREMENT
| , info varchar(150)
| , parentid INTEGER
| , name varchar(50) NOT NULL
| , PRIMARY KEY (roleid)
| , INDEX parent_ind (parentid)
| , FOREIGN KEY (parentid) references role (roleid)
| ) TYPE=InnoDB;
|
|
Database is mysql 5.0, jdk: build 1.5.0_04-b05, os winxp sp2.
Can anybody point me to a solution or is this a bug?
thanks in advance.
Jeroen.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994490#3994490
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994490
19 years, 4 months
[JBoss jBPM] - Re: Problem testing Hello BPEL sample
by zauberlehrling
I have similar problems with the following environment:
1. jBoss BPEL 1.1 Beta2
2. jBoss AS 4.0.5GA
3. jwsdp-2.0
4. jdk 1.5.0_08
5. ANT 1.6.5
I've tried to call the hello-bpel-process with the following code:
public void test()
| {
| try {
| Properties properties = new Properties();
| properties.setProperty("java.naming.provider.url", "jnp://localhost:1099");
| properties.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
| properties.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming.client");
| properties.setProperty("j2ee.clientName", "jbpmbpel-client");
| Service service = null;
| if (service == null) {
| InitialContext iniCtx = new InitialContext(properties);
| Object object = iniCtx.lookup("java:comp/env/service/Hello");
| service = (Service)object;
| String portTypeNS = "http://jbpm.org/examples/hello";
| Call call = service.createCall(new QName(portTypeNS, "GreeterPort"),"sayHello");
| String greeting = (String) call.invoke(new Object[] { "Olive" });
| System.out.println("Greeting: "+greeting);
| }
| } catch (Exception e) {
| e.printStackTrace();
| }
|
and I get the following exception:
javax.naming.NamingException: Cannot unmarshall service ref meta data, cause: java.io.InvalidClassException: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = 4418622981026545151, local class serialVersionUID = -9120448754896609940
| at org.jboss.ws.jaxrpc.ServiceObjectFactory.getObjectInstance(ServiceObjectFactory.java:127)
| at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
| at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1125)
| at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1142)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)
| at org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(javaURLContextFactory.java:135)
| at $Proxy0.lookup(Unknown Source)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at frank.DII.test(DII.java:51)
The exception is thrown by the command in line 51:
| Object object = iniCtx.lookup("java:comp/env/service/Hello");
|
If I try to contact the webservice with the following code:
| public void dii()
| {
| try {
| String endpoint = "http://localhost:8080/hello/greeter?wsdl&resource=hello.wsdl";
| QName qName = new QName(endpoint);
| ServiceFactory serviceFactory = ServiceFactory.newInstance();
| Service service = serviceFactory.createService(qName);
|
| Call call = service.createCall();
| call.setOperationName(new QName(endpoint,"sayHello"));
| call.setTargetEndpointAddress(endpoint);
|
| call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"http://schemas.xmlsoap.org/soap/encoding/");
| call.setProperty(Call.OPERATION_STYLE_PROPERTY, "rpc");
|
| Object[] arguments = new Object[] {"wo"};
| Object result = call.invoke(arguments);
| System.out.println(""+result);
| } catch (Exception e) {
| e.printStackTrace();
| }
| }
|
I get the following exception in the server console:
| 15:02:26,791 INFO [Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 1m:48s:151ms
| 15:02:59,288 WARN [HandlerWrapper] RuntimeException in handler method, transition to DOES_NOT_EXIST
| 15:02:59,288 ERROR [HandlerChainBaseImpl] RuntimeException in request handler
| java.lang.NullPointerException
| at org.jbpm.bpel.integration.server.SoapHandler.getRequestParts(SoapHandler.java:355)
| at org.jbpm.bpel.integration.server.SoapHandler.sendRequest(SoapHandler.java:299)
| at org.jbpm.bpel.integration.server.SoapHandler.handleRequest(SoapHandler.java:186)
| at org.jboss.ws.handler.HandlerWrapper.handleRequest(HandlerWrapper.java:121)
| ...
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 15:02:59,294 ERROR [SOAPFaultExceptionHelper] SOAP request exception
| java.lang.NullPointerException
| at org.jbpm.bpel.integration.server.SoapHandler.getRequestParts(SoapHandler.java:355)
| at org.jbpm.bpel.integration.server.SoapHandler.sendRequest(SoapHandler.java:299)
| ....
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| 15:02:59,305 WARN [HandlerWrapper] Handler is in state DOES_NOT_EXIST, skipping Handler.handleFault for: org.jbpm.bpel.integration.server.SoapHandler@1c60f74
|
At least this code contacted the bpel engine.
Best regards,
Frank
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994487#3994487
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994487
19 years, 4 months
[JBoss Seam] - Request for feedback
by gavin.king@jboss.com
So I finally got fed up with the limitations of JSF navigation rules and I went ahead and implemented a stateless navigation system for Seam. There were four main reasons why I wanted this:
(1) to centralize orchestration in one place, instead of having it split between pages.xml and faces-config.xml
(2) to be able to specify request parameters when redirecting
(3) to be able to specify conversation begin/end according to an outcome
(4) to be able to have a value binding which evaluates the outcome, in addition to the action method binding - this lets me get rid of the ugly outcomes returned by action methods, and reduces the coupling of the model to the view.
(5) to support various "result types", other than a JSF view (eg. a file download, a http error, etc).
What I have today can do what you can do with JSF navigation rules, for example:
<page view-id="/getDocument.jsp">
| <navigation>
| <outcome value="success">
| <redirect view-id="/editDocument.jsp"/>
| </outcome>
| <outcome value="not-found">
| <redirect view-id="/404.jsp"/>
| </outcome>
| </navigation>
| </page>
Is equivalent to:
<navigation-rule>
| <from-view-id>/getDocument.jsp</from-view-id>
| <navigation-case>
| <from-outcome>success</from-outcome>
| <to-view-id>/editDocument.jsp"</to-view-id>
| <redirect/>
| </navigation-case>
| <navigation-case>
| <from-outcome>not-found</from-outcome>
| <to-view-id>/404.jsp"</to-view-id>
| <redirect/>
| </navigation-case>
| </navigation-rule>
And:
<page view-id="*">
| <navigation action="#{documentHome.get}">
| <outcome value="success">
| <render view-id="/editDocument.jsp"/>
| </outcome>
| </navigation>
| </page>
Is equivalent to:
<navigation-rule>
| <navigation-case>
| <from-action>#{documentHome.get}</from-action>
| <from-outcome>success</from-outcome>
| <to-view-id>/editDocument.jsp"</to-view-id>
| </navigation-case>
| </navigation-rule>
But it can also do this:
<page view-id="/getDocument.jsp">
| <navigation outcome="#{documentHome.document!=null}">
| <outcome value="true">
| <redirect view-id="/editDocument.jsp"/>
| </outcome>
| <outcome value="false">
| <redirect view-id="/404.jsp"/>
| </outcome>
| </navigation>
| </page>
This lets you write a DocumentHome.get() method with a void return type! This is much more transparent to the model.
You can also do this:
<page view-id="/editDocument.jsp">
| <navigation action="#{documentHome.update}">
| <null-outcome>
| <redirect view-id="/document.jsp">
| <param name="documentId" value="#{documentHome.document.id}"/>
| </redirect>
| </null-outcome>
| </navigation>
| </page>
(Yay!)
Soon I'll also add <begin-conversation/> and <end-conversation/> to the case handling. Eventually I'll also add support for other things in addition to and .
OK, so, what I need feedback on is the actual XML format. What I have there today is a little less verbose than the JSF XML, but has one higher level of indentation (which makes it more complex). The reason for this is that I want to allow different actions to specify different outcome expressions, and different lists of cases, eg:
<page view-id="/getDocument.jsp">
|
| <navigation action="#{documentHome.get}"
| outcome="#{documentHome.document!=null}">
| <outcome value="true">
| <redirect view-id="/editDocument.jsp">
| <param name="documentId" value="#{documentHome.document.id}"/>
| </redirect>
| </outcome>
| <outcome value="false">
| <redirect view-id="/404.jsp"/>
| </outcome>
| </navigation>
|
| <navigation action="#{logout.logout}">
| <null-outcome>
| <redirect view-id="/login.jsp"/>
| <null-outcome>
| </navigation>
|
| </page>
So the question is should I go for something more similar to the JSF XML (one less level of nesting):
<page view-id="/getDocument.jsp">
|
| <navigation action="#{documentHome.get}">
| <outcome expression="#{documentHome.document!=null}"
| value="true"/>
| <redirect view-id="/editDocument.jsp">
| <param name="documentId" value="#{documentHome.document.id}"/>
| </redirect>
| </navigation>
|
| <navigation action="#{documentHome.get}">
| <outcome expression="#{documentHome.document==null}"
| value="true"/>
| <redirect view-id="/404.jsp"/>
| </navigation>
|
| <navigation action="#{logout.logout}">
| <redirect view-id="/login.jsp"/>
| </navigation>
|
| </page>
Or does it make it easier to learn if we stay even more like standard JSF:
<page view-id="/getDocument.jsp">
|
| <navigation>
| <from-action>#{documentHome.get}</from-action>
| <outcome-expression>#{documentHome.document!=null}</outcome-expression>
| <from-outcome>true</from-outcome>
| <redirect>
| <to-view-id>/editDocument.jsp</to-view-id>
| <param name="documentId" value="#{documentHome.document.id}"/>
| </redirect>
| </navigation>
|
| <navigation>
| <from-action>#{documentHome.get}</from-action>
| <outcome-expression>#{documentHome.document==null}</outcome-expression>
| <from-outcome>true</from-outcome>
| <redirect>
| <to-view-id>/404.jsp"</to-view-id>
| </redirect>
| </navigation>
|
| <navigation action="#{logout.logout}">
| <redirect>
| <to-view-id>/login.jsp"</to-view-id>
| </navigation>
|
| </page>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994482#3994482
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994482
19 years, 4 months