[Clustering/JBoss] - Re: HA JMS & message selector
by niefeng
here is the exception i got in node1
| org.jboss.mq.SpyXAException: Resource manager error during prepare; - nested throwable: (javax.jms.IllegalStateException: The connection is closed)
| at org.jboss.mq.SpyXAException.getAsXAException(SpyXAException.java:72)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:151)
| at org.jboss.tm.TransactionImpl$Resource.prepare(TransactionImpl.java:2212)
| at org.jboss.tm.TransactionImpl.prepareResources(TransactionImpl.java:1660)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:347)
| at org.jboss.tm.TxManager.commit(TxManager.java:240)
| at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:351)
| at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:905)
| at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
| at org.jboss.mq.SpySession.run(SpySession.java:323)
| at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Unknown Source)
| Caused by: javax.jms.IllegalStateException: The connection is closed
| at org.jboss.mq.Connection.checkClosed(Connection.java:1244)
| at org.jboss.mq.Connection.send(Connection.java:1104)
| at org.jboss.mq.SpyXAResourceManager.prepare(SpyXAResourceManager.java:255)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:147)
| ... 11 more
| [14:06:07-22:24:39,779] [ WARN:org.jboss.tm.TransactionImpl] [JMS SessionPool Worker-6] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=asterix/809, BranchQual=, localId=809] errorCode=XAER_RMERR
| org.jboss.mq.SpyXAException: Resource manager error during rollback; - nested throwable: (javax.jms.IllegalStateException: The connection is closed)
| at org.jboss.mq.SpyXAException.getAsXAException(SpyXAException.java:72)
| at org.jboss.mq.SpyXAResource.rollback(SpyXAResource.java:182)
| at org.jboss.tm.TransactionImpl$Resource.rollback(TransactionImpl.java:2277)
| at org.jboss.tm.TransactionImpl.rollbackResources(TransactionImpl.java:1837)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:368)
| at org.jboss.tm.TxManager.commit(TxManager.java:240)
| at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:351)
| at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:905)
| at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
| at org.jboss.mq.SpySession.run(SpySession.java:323)
| at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Unknown Source)
| Caused by: javax.jms.IllegalStateException: The connection is closed
| at org.jboss.mq.Connection.checkClosed(Connection.java:1244)
| at org.jboss.mq.Connection.send(Connection.java:1104)
| at org.jboss.mq.SpyXAResourceManager.rollback(SpyXAResourceManager.java:308)
| at org.jboss.mq.SpyXAResource.rollback(SpyXAResource.java:178)
| ... 11 more
| [14:06:07-22:24:39,788] [ERROR:org.jboss.jms.asf.StdServerSession] [JMS SessionPool Worker-6] failed to commit/rollback
| org.jboss.tm.JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=asterix/809, BranchQual=, localId=809] status=STATUS_NO_TRANSACTION; - nested throwable: (org.jboss.mq.SpyXAException: Resource manager error during prepare; - nested throwable: (javax.jms.IllegalStateException: The connection is closed))
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372)
| at org.jboss.tm.TxManager.commit(TxManager.java:240)
| at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:351)
| at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:905)
| at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
| at org.jboss.mq.SpySession.run(SpySession.java:323)
| at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Unknown Source)
| Caused by: org.jboss.mq.SpyXAException: Resource manager error during prepare; - nested throwable: (javax.jms.IllegalStateException: The connection is closed)
| at org.jboss.mq.SpyXAException.getAsXAException(SpyXAException.java:72)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:151)
| at org.jboss.tm.TransactionImpl$Resource.prepare(TransactionImpl.java:2212)
| at org.jboss.tm.TransactionImpl.prepareResources(TransactionImpl.java:1660)
| at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:347)
| ... 8 more
| Caused by: javax.jms.IllegalStateException: The connection is closed
| at org.jboss.mq.Connection.checkClosed(Connection.java:1244)
| at org.jboss.mq.Connection.send(Connection.java:1104)
| at org.jboss.mq.SpyXAResourceManager.prepare(SpyXAResourceManager.java:255)
| at org.jboss.mq.SpyXAResource.prepare(SpyXAResource.java:147)
And I also realize that the jms msg has been moved to DLQ due to too many resend, that's why I can't find the msg neither in node1 and node2.
Below is the pseudo code on how i initiating the sending of jms msg:
| private void initArchive()
| {
| //delegate to other component using jms
| sendArchiveRequest();
|
| //start archive: the execution time can be more than 10 minutes and
| //is an intensive operation
| archive();
| }
|
|
The caller of this method is an MDBean, and this method is resided under a nomal java class. The sending of the jms is not involved any session bean.
I managed to resolved it by delegating the sending of the jms msg to a SLSB with transaction attr "RequiresNew".
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4057178#4057178
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4057178
18Â years, 10Â months
[JNDI/Naming/Network] - Re: JBoss 4.2 ejb not bound
by jaikiran
<jndi-name>CalcHome</jndi-name>
| <local-jndi-name>CalcLocalHome</local-jndi-name>
|
anonymous wrote : 02:52:22,390 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'Calc' to jndi 'CalcLocalHome'
| 02:52:22,406 INFO [ProxyFactory] Bound EJB Home 'Calc' to jndi 'CalcHome'
|
Your EJB is deployed and bound to the JNDI name CalcHome for the remote interface and CalcLocalHome for the local interface in the *global jndi namespace*.
So your lookup should look like:
Context ctx = new InitialContext();
| //remote home lookup
| Object obj = ctx.lookup("CalcHome");
| CalcHome home = (CalcHome) PortableRemoteObject.narrow(obj,CalcHome.class);
| //create the remote bean
| bean = home.create();
|
For local interface
Context ctx = new InitialContext();
| //local home lookup
| Object obj = ctx.lookup("CalcLocalHome");
| CalcLocalHome localhome = (CalcLocalHome) obj;
| //create the local bean
| bean = localhome.create();
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4057169#4057169
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4057169
18Â years, 10Â months
[JBoss Seam] - [solution]: selectOneMenu binding to session object
by joeyxxx
If anyone else needs a solution, this is what I ended up doing.
|
| public class Avatar implements Serializable{
|
| private String nickName;
| private String style;
| private int index;
| /** Creates a new instance of Avatar */
| public Avatar() {
| }
|
| public Avatar(String nickName, String style, int index){
| this.style = style;
| this.nickName = nickName;
| this.index = index;
| }
|
|
| public String toString(){
| return this.index + "";
| }
|
| public String getNickName() {
| return nickName;
| }
|
| public String getStyle() {
| return style;
| }
|
| public String getSelectLabel(){
| return "***"+style + ":"+ nickName;
| }
| }
|
|
|
| @Name("avatarConverter")
| @Intercept(NEVER)
| @Converter
| public class AvatarConverter implements javax.faces.convert.Converter
| {
| @In User user;
| public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException
| {
| Integer i = new Integer(value);
| User user = (User) Contexts.getSessionContext().get("user");
| Avatar currentAvatar = user.getAvatarList().get(i.intValue());
| return currentAvatar;
| }
|
| public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException
| {
| return value + "";
| }
| }
|
|
|
| @Name("user")
| @Scope(SESSION)
| //@Startup
| public class User implements Serializable{
|
| @Logger private static Log log;
| private String userName;
| private Avatar currentAvatar;
| private List<Avatar> avatarList;
| /** Creates a new instance of User */
| public User() {
| }
|
| public User(String pUserName, List<Avatar> pAvatarList){
| this.userName = userName;
| this.avatarList = pAvatarList;
|
| if(avatarList.size()>0){
| this.currentAvatar = avatarList.get(0);
| } else {
| this.currentAvatar = new Avatar("Nick", "3d", 0);
| this.avatarList = new ArrayList();
| this.avatarList.add(currentAvatar);
| }
| }
|
| public List<Avatar> getAvatarList(){
| return this.avatarList;
| }
|
|
| @Create
| public void initialize(){
| System.out.println("User Initialized");
| }
|
| public void click(){
| log.info("User Click Invoked...");
| }
|
| public String getUserName() {
| return userName;
| }
|
| public void setUserName(String userName) {
| this.userName = userName;
| }
|
| public Avatar getCurrentAvatar() {
| return currentAvatar;
| }
|
| public void setCurrentAvatar(Avatar currentAvatar) {
| this.currentAvatar = currentAvatar;
| }
|
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4057168#4057168
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4057168
18Â years, 10Â months