[JBoss Cache] New message: "Re: Porble regarding PojoCaching with Clustering node."
by Brett Cave
User development,
A new message was posted in the thread "Porble regarding PojoCaching with Clustering node.":
http://community.jboss.org/message/531008#531008
Author : Brett Cave
Profile : http://community.jboss.org/people/brettcave
Message:
--------------------------------------------------------------
set up the pojocache (via pojocache xml config file) to use a different multicast address to the default JBoss clustering multicast address.
If pojocache is configured to retrieve objects from the cache on joining the cluster, you must ensure that your classloaders for cached objects are loaded before the cache is initialized.
on jboss 4.2, we did this by changing the deployer to use a prefix URL deployment sorted, and then ensured our archives containing required classloaders had a lower prefix than the pojocache service (if deployed seperately).
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/531008#531008
16 years, 1 month
[jBPM] New message: "Possible performance problem caused by autoSaveProcessInstances"
by Richard Qin
User development,
A new message was posted in the thread "Possible performance problem caused by autoSaveProcessInstances":
http://community.jboss.org/message/531003#531003
Author : Richard Qin
Profile : http://community.jboss.org/people/richard.qin
Message:
--------------------------------------------------------------
autoSaveProcessInstances is a List type field of JbpmContext class, which contains the processInstance needed to persistent to database.
List autoSaveProcessInstances = null;
Due to the List type of autoSaveProcessInstances, the same processInstance can be repeatedly added to autoSaveProcessInstances by JbpmContext.addAutoSaveProcessInstance method.
public void addAutoSaveProcessInstance(ProcessInstance processInstance)
{
if (autoSaveProcessInstances == null)
autoSaveProcessInstances = new ArrayList();
autoSaveProcessInstances.add(processInstance);
}
When invoked by JbpmContext.close method, JbpmContext.autoSave will iterate each processInstance in the autoSaveProcessInstances to save, thus the processInstance be saved repeatedly.
void autoSave()
{
if (autoSaveProcessInstances != null)
{
Iterator iter = autoSaveProcessInstances.iterator();
while (iter.hasNext())
{
ProcessInstance processInstance = (ProcessInstance)iter.next();
save(processInstance);
iter.remove();
}
}
}
In my web app based seam 2.2.0, jbpm 3.2.5.sp5, a jsf request will cause the same processInstance to be saved more than 2000 times. How about change the List type of autoSaveProcessInstances to the Set type? Any suggestion are greatly appreciated.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/531003#531003
16 years, 1 month
[JBoss Messaging] New message: "Problem in message flow in a bridge with two nodes of Jboss"
by Sridevi KA
User development,
A new message was posted in the thread "Problem in message flow in a bridge with two nodes of Jboss":
http://community.jboss.org/message/531001#531001
Author : Sridevi KA
Profile : http://community.jboss.org/people/sri1083
Message:
--------------------------------------------------------------
Hi ...
I am trying to bridge two nodes of JBOSS deployed on same machine.
Target Node :
*test-bridge-service.xml*
<?xml version="1.0" encoding="UTF-8"?>
<!--
Example deployment descriptor for a message bridge
$Id: messaging-secure-socket-service.xml 2737 2007-05-29 17:56:49Z timfox $
-->
<server>
<mbean code="org.jboss.jms.server.bridge.BridgeService"
name="jboss.messaging:service=Bridge,name=TestBridge"
xmbean-dd="xmdesc/Bridge-xmbean.xml">
<!-- The JMS provider loader that is used to lookup the source destination -->
<depends optional-attribute-name="SourceProviderLoader">jboss.messaging:service=JMSProviderLoader,name=MyRemoteJMSProvider,server=remotehost</depends>
<!-- The JMS provider loader that is used to lookup the target destination -->
<depends optional-attribute-name="TargetProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>
<!-- The JNDI lookup for the source destination -->
<attribute name="SourceDestinationLookup">/queue/quickstart_helloworld_Request_esb</attribute>
<!-- The JNDI lookup for the target destination -->
<attribute name="TargetDestinationLookup">/queue/quickstart_helloworld_Request_esb</attribute>
<!-- The username to use for the source connection
<attribute name="SourceUsername">bob</attribute>
-->
<!-- The password to use for the source connection
<attribute name="SourcePassword">cheesecake</attribute>
-->
<!-- The username to use for the target connection
<attribute name="TargetUsername">mary</attribute>
-->
<!-- The password to use for the target connection
<attribute name="TargetPassword">hotdog</attribute>
-->
<!-- Optional: The Quality Of Service mode to use, one of:
QOS_AT_MOST_ONCE = 0;
QOS_DUPLICATES_OK = 1;
QOS_ONCE_AND_ONLY_ONCE = 2; -->
<attribute name="QualityOfServiceMode">0</attribute>
<!-- JMS selector to use for consuming messages from the source
<attribute name="Selector">specify jms selector here</attribute>
-->
<!-- The maximum number of messages to consume from the source before sending to the target -->
<attribute name="MaxBatchSize">5</attribute>
<!-- The maximum time to wait (in ms) before sending a batch to the target even if MaxBatchSize is not exceeded.
-1 means wait forever -->
<attribute name="MaxBatchTime">-1</attribute>
<!-- If consuming from a durable subscription this is the subscription name
<attribute name="SubName">mysub</attribute>
-->
<!-- If consuming from a durable subscription this is the client ID to use
<attribute name="ClientID">myClientID</attribute>
-->
<!-- The number of ms to wait between connection retrues in the event connections to source or target fail -->
<attribute name="FailureRetryInterval">5000</attribute>
<!-- The maximum number of connection retries to make in case of failure, before giving up
-1 means try forever-->
<attribute name="MaxRetries">-1</attribute>
<!-- If true then the message id of the message before bridging will be added as a header to the message so it is available
to the receiver. Can then be sent as correlation id to correlate in a distributed request-response -->
<attribute name="AddMessageIDInHeader">false</attribute>
</mbean>
</server>
*jms-ds.xml*
<!-- Remote JMS Provider -->
<mbean
code="org.jboss.jms.jndi.JMSProviderLoader"
name="jboss.messaging:service=JMSProviderLoader,name=MyRemoteJMSProvider,server=remotehost">
<attribute name="ProviderName">RemoteXAConnectionFactory</attribute>
<attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
<!-- The combined connection factory -->
<attribute name="FactoryRef">XAConnectionFactory</attribute>
<!-- The queue connection factory -->
<attribute name="QueueFactoryRef">XAConnectionFactory</attribute>
<!-- The topic factory -->
<attribute name="TopicFactoryRef">XAConnectionFactory</attribute>
<attribute name="Properties">
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1199
</attribute>
</mbean>
i have deployed helloworld example of ESB.The ESB is listening to queue.
jboss-esb.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml..." parameterReloadSecs="5">
<providers>
<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
<jms-bus busid="quickstartGwChannel">
<jms-message-filter
dest-type="QUEUE"
dest-name="queue/quickstart_helloworld_Request_esb"
/>
</jms-bus>
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter
dest-type="QUEUE"
dest-name="queue/quickstart_helloworld_Request_esb"
/>
</jms-bus>
</jms-provider>
</providers>
<services>
<service
category="FirstServiceESB"
name="SimpleListener"
description="Hello World">
<listeners>
<jms-listener name="JMS-Gateway"
busidref="quickstartGwChannel"
maxThreads="1"
is-gateway="true"
/>
<jms-listener name="helloWorld"
busidref="quickstartEsbChannel"
maxThreads="1"
/>
</listeners>
<actions mep="OneWay">
<action name="action1"
class="org.jboss.soa.esb.samples.quickstart.helloworld.MyJMSListenerAction"
process="displayMessage"
/>
<action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
<property name="printfull" value="true"/>
</action>
<!-- The next action is for Continuous Integration testing -->
<action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
</actions>
</service>
</services>
</jbossesb>
I send messages to the source node but the ESB which is listening is not receiving the messages.
Client code for sending message
/*
* JBoss, Home of Professional Open Source
* Copyright 2006, JBoss Inc., and others contributors as indicated
* by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License, v. 2.1.
* This program is distributed in the hope that it will be useful, but WITHOUT A
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License,
* v.2.1 along with this distribution; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
* (C) 2005-2006,
* @author JBoss Inc.
*/
package org.jboss.soa.esb.samples.quickstart.helloworld.test;
import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class SendJMSMessage {
QueueConnection conn;
QueueSession session;
Queue que;
public void setupConnection() throws JMSException, NamingException
{
Properties properties1 = new Properties();
properties1.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
properties1.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");
properties1.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1199");
InitialContext iniCtx = new InitialContext(properties1);
Object tmp = iniCtx.lookup("ConnectionFactory");
QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
conn = qcf.createQueueConnection();
que = (Queue) iniCtx.lookup("queue/quickstart_helloworld_Request_esb");
session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
conn.start();
System.out.println("Connection Started");
}
public void stop() throws JMSException
{
conn.stop();
session.close();
conn.close();
}
public void sendAMessage(String msg) throws JMSException {
QueueSender send = session.createSender(que);
ObjectMessage tm = session.createObjectMessage(msg);
send.send(tm);
send.close();
}
public static void main(String args[]) throws Exception
{
SendJMSMessage sm = new SendJMSMessage();
sm.setupConnection();
sm.sendAMessage(args[0]);
sm.stop();
}
}
Please help on this.I dont know whether this is problem with ESB or message bridging.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/531001#531001
16 years, 1 month
[JBoss Tools] New message: "Re: Tutorial for BPEL simple-invoke"
by Feng Qian
User development,
A new message was posted in the thread "Tutorial for BPEL simple-invoke":
http://community.jboss.org/message/530995#530995
Author : Feng Qian
Profile : http://community.jboss.org/people/Grid.Qian
Message:
--------------------------------------------------------------
Hi Peter,
I think Denis's answer is ok for you. You should read the document of JBoss BPEL editor. And for your case, you want to create simple-invoke sample project. You should do as these steps:
1 create a bpel project named simple-invoke, and so on.
2 import the files in bpelContent folder of the riftsaw simple-invoke sample into the folder ‘bpelContent' of the eclipse simple-invoke project.
3 create a server in eclipse. The server has included riftsaw.
4 deploy the bpel project into server.
5 use the soapui or eclipse web service explorer to test the bpel.
Anyway, you need to read the bpel editor document at first.
Grid
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/530995#530995
16 years, 1 month