[Clustering/JBoss] - Re: Buddy Replication: Memory usage with Tomcat Session Repl
by bstansberry@jboss.com
Node a2 becoming the buddy of both a1 and a3 sounds broken; it's not meant to be that way.
There have been a lot of improvements in JBoss Cache related to buddy replication since AS 4.0.5 came out. Can you try replacing the server/all/lib/jboss-cache.jar with the jboss-cache-jdk50.jar that comes with the JBC 1.4.1.SP9 release? For that to work you'll need to replace jgroups.jar, either with the one that comes with the JBC 1.4.1.SP9 download. or even better with the one from the JGroups 2.4.1.SP4 release.
That may help your session.invalidate() issue as well. I've never heard of a problem like that before; will investigate more.
Re: setting up eviction, normally I say don't do that, but it may be a valid workaround for now. If you do it, set it up for the _default_ region (i.e. the whole cache) so it also covers the internal buddy replication backup areas. Use LRUPolicy, and configure maxNodes=0 (disabling eviction based on # of nodes). The timeToLiveSeconds value must be greater than the session expiration timeout. I'd say make it a couple minutes greater -- idea is to make sure that the normal JBossWeb session cleanup process gets a chance to flush things out first, with the JBC eviction only cleaning out stuff that gets left behind.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148104#4148104
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148104
16 years, 6 months
[JBossWS] - Re: Need help : JBossWS Security!
by xinhua
ok,
i see, maybe jboss-wsse-client.xml or standard-jaxws-client-config.xml not loaded ,so i copied the both xml into META-INF and also changed the client code like this:
|
| Service s = Service.create(url, qn);
| Test port = s.getPort(Test.class);
|
| URL securityURL = new File("META-INF/jboss-wsse-client.xml").toURL();
| URL securityConfig= new File("META-INF/standard-jaxws-client-config.xml").toURL();
| ((StubExt) port).setSecurityConfig(securityURL.toExternalForm());
| ((StubExt) port).setConfigName("Standard WSSecurity Client",securityConfig.toExternalForm());
|
|
| ((BindingProvider) port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "kermit");
| ((BindingProvider) port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "thefrog");
| ((BindingProvider) port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:4040/miguoWS/TestBean");
but in soap monitor i found <wsse: Security> is still missing in request.
(jboss4.2.1GA, jbossws-3.0.1-native-2.0.4.GA, jdk1.5 update 15)
Really nobody can help me out here ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148096#4148096
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148096
16 years, 6 months
[JBoss Messaging] - Re: MQ migration help
by tnine
I haven't forgotten about this, but I have had to put it off while working on production issues. I'm now reading from the DLQ, however I'm getting very erratic behavior. Somtimes a read with "receiveNoWait" will return messages on the DLQ, other times I'll have to call it 4 or 5 times before I receive a message, and the message count is > than 0 then viewing the queue on the jmx-console. I've attached my inner class that manages connections, am I calling something incorrectly? I'm looking up the connectionFactory via a remote JNDi, location "ClusteredXAConnectionFactory". Any help/advice would be appreciated.
|
| /**
| * Inner class to manage connections per thread
| *
| * @author Todd Nine
| *
| */
| private class SynchronousConnectionFactory {
|
| private final Logger connectionLogger = Logger
| .getLogger(SynchronousConnectionFactory.class);
|
| // instance beans
| private QueueConnection connection;
| private QueueSession session;
|
| //pointers passed in during initialization and injection
| private QueueConnectionFactory globalQueueConnectionFactory;
| private Queue globalQueue;
| private QueueReceiver receiver;
|
| /**
| * Default constructor
| *
| * @param connectionFactory
| * @param queue
| */
| public SynchronousConnectionFactory(
| QueueConnectionFactory connectionFactory, Queue queue) {
| this.globalQueueConnectionFactory = connectionFactory;
| this.globalQueue = queue;
| }
|
| /**
| * Open the connection to the JMS queue
| *
| * @throws JMSException
| */
| public void openConnection() throws JMSException {
| connection = getConnection();
|
| // create a session that we manually acknowledge so we can ignore
| // messages that
| // don't have the correct payload
| session = connection.createQueueSession(false,
| Session.CLIENT_ACKNOWLEDGE);
|
| receiver = session.createReceiver(this.globalQueue);
|
| connection.start();
| }
|
| /**
| * Return the message from the jms queue
| *
| * @return
| * @throws JMSException
| */
| public Message getMessage() throws JMSException {
| return receiver.receiveNoWait();
| }
|
| /**
| * Close the queue connection
| *
| * @param connection
| */
| public void closeReceiver() {
| try {
|
|
| if (session != null) {
| session.close();
| }
|
| if (connection != null) {
| connection.close();
| }
| } catch (JMSException e) {
| connectionLogger.warn("Could not close JMS connection", e);
| }
| }
|
| /**
| * Get the connection from the factory
| *
| * @return
| * @throws JMSException
| */
| protected QueueConnection getConnection() throws JMSException {
| return globalQueueConnectionFactory.createQueueConnection();
| }
|
| }
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148095#4148095
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4148095
16 years, 6 months