User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4
Lucas,
It seems from the exception trace you give that your xmpp container
is not connected (i.e. you haven't connected it to an xmpp
server)...so it fails when trying to send (any) message.
...
Caused by: java.net.ConnectException: not connected
at
org.eclipse.ecf.provider.generic.ClientSOContainer.checkConnected(ClientSOContainer.java:509)
Hope this helps,
Scott
On 9/28/2010 6:04 PM, Lucas Augusto Scotta Merlo wrote:
Hi Scott, thank you to the reply.
Good night for everybody.
I tryed to create a new channel how you said.
But I could not. Below I present the steps I did. Can anyone help
me?
Thanks.
First, I create a channel:
public IChannelListener presenceChannelListener = null;
public IChannel channelLock;
public IChannel createChannelLock() throws ECFException {
ID channelID =
IDFactory.getDefault().createStringID("conclID");
org.eclipse.ecf.core.util.ECFException: send message exception
at
org.eclipse.ecf.provider.datashare.BaseChannel.sendMessage(BaseChannel.java:229)
at
br.ufes.lprm.concl.consistency.control.lock.EstruturaLock.Lock(EstruturaLock.java:46)
// my class one a use the channel
at
br.ufes.lprm.concl.awareness.outline.OutlineConclListener.actionPerformed(OutlineConclListener.java:60)
// another class that is one GUI to the lock
at javax.swing.AbstractButton.fireActionPerformed(Unknown
Source)
at
javax.swing.AbstractButton$Handler.actionPerformed(Unknown
Source)
at
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown
Source)
at
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown
Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown
Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown
Source)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.ConnectException: not connected
at
org.eclipse.ecf.provider.generic.ClientSOContainer.checkConnected(ClientSOContainer.java:509)
at
org.eclipse.ecf.provider.generic.ClientSOContainer.sendMessage(ClientSOContainer.java:426)
at
org.eclipse.ecf.provider.generic.SOContext.sendMessage(SOContext.java:230)
at
org.eclipse.ecf.provider.datashare.BaseChannel.sendMessage(BaseChannel.java:227)
... 29 more
On 9/15/2010 12:16 PM, Lucas Augusto Scotta Merlo wrote:
Hello everybody.
I'm finishing a project for my theses's: one
extension of ECF for NCL(language of Brazilian
Digital TV). In mine extension we include a lock
feature (lock) on the elements. To do this we create
a message type specifies to be treated on the other
side. Then this message's lock is sent to other user
by channel.sendMessage(DocShare.getOtherID(),
msg.serializeMsgLock());
To obtain the channel, we create a "static
object DocShare docShareNCL at DocShare class, then
we use in other class:
DocShare.docshare.getChannel();
Yet the message is not being treated across
the OT and only by our methods of blocking. We use
the same listener for OT e lock;
We can have only one listener per channel?
How I create one new channel?
So thanks.
Although this sounds fascinating, I don't quite understand
what you are trying to accomplish and so it's not
immediately clear to me what mechanism you need here...e.g.
would you like to use the *existing* DocShare channel to
send your own message (so that the delivery order of your
message relative to other docshare messages) is consistent
(because channels are sender ordered...i.e. the order that
the messages on a given channel are received is the same as
the order that they are sent. This is only true for a
single channel...if messages are sent on different channels
then the delivery order is not guaranteed.
So by modifying the code that uses the DocShare created
channel you can insert your own message in the docshare/OT
message stream...or you can create/use a separate channel,
but the delivery order of your message on this second
channel will not be related to the order of messages
received on the DocShare channel. If you do want a second
asynchronous channel, you can create a second channel by
using the IChannelContainerAdapter.createChannel(...). The
DocShare code does this to create/setup it's channel.
Also...it would be great if you would describe your thesis
work a little further on this list...and if you wish it
might be good for you to get involved with the current
effort on the creation of a wave provider (which also uses
operational transformation)...i.e. see [1].
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Lucas Augusto Scotta Merlo
MSc in Computer - UFES http://www.inf.ufes.br/~scotta/