Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

eBus / News: Recent posts

eBus 3.2.5: Minor Improvements.

Overview: Minor improvements and bug fixes.


net.sf.eBus.client:

ERemoteApp:


Declared _connections as a java.util.concurrent.ConcurrentMap,
removed excessive use of locks associated with _connections.


net.sf.eBus.comm

EConnection:


Converted _reconnectDelay and _heartbeatDelay from long to
AtomicLong. Removed locks associated with these variables.... read more

Posted by Charles Rapp 2015-01-26

eBus 3.2.4: Multicast your bread upon the water.

Overview: Major, minor improvements and bug fixes.


net.sf.eBus.client:

EClient:


Exposed this class so applications may post tasks to an eBus
client's executor. This makes eBus objects effectively
single-threaded by accessing the client from its executor
alone. Note: the client executor is a single-thread.

ERemoteApp:


Corrected state machine so that when the connect fails to open
and the connection is configured to reconnect, the next state
is "Reconnecting", not "Closed".... read more

Posted by Charles Rapp 2014-11-01

eBus 3.2.3: Fourth of July Release.

eBus v. 3.2.3

Overview: Bug fixes and improvements.

NOTE: I am unable to check in my changes to eBus' SourceForge
Subversion repository. The source code is available as a
separate download. The changes will be checked in as soon
as the problems are resolved.


net.sf.eBus.client:

EClient:
Changed executor thread creation and assignment so that:
1. A new executor is created only when needed (up to a maximum
set at the number of available processors).
2. A client is assigned to the executor with the fewest number
of clients.
3. If the client is an ERemoteApp proxy, the proxy uses the
ERemoteApp's executor. That means each eBus connection uses
only one executor.... read more

Posted by Charles Rapp 2014-07-05

eBus 3.2.2: ERequest Improvement.

eBus v. 3.2.2

Overview: One minor change.


.Net No Longer Supported

Due to my C# skills de-grading, the .Net eBus is no longer
supported.


eBus.jar incorporates dependent libraries.

eBus.jar now includes classes from its dependent libraries:
SMC's statemap.jar and javassist.jar. There is no need to
download these jar files separately and include on the classpath.... read more

Posted by Charles Rapp 2014-06-08

eBus 3.2.1: Memorial Day Release

eBus v. 3.2.1

Overview: One minor change.


.Net No Longer Supported

Due to my C# skills de-grading, the .Net eBus is no longer
supported.


eBus.jar incorporates dependent libraries.

eBus.jar now includes classes from its dependent libraries:
SMC's statemap.jar and javassist.jar. There is no need to
download these jar files separately and include on the classpath.... read more

Posted by Charles Rapp 2014-05-26

eBus 3.2.0: Improved message serialization.

Overview: Two major changes and bug fixes.


.Net No Longer Supported

Due to my C# skills de-grading, the .Net eBus is no longer
supported.


eBus.jar incorporates dependent libraries.

eBus.jar now includes classes from its dependent libraries:
SMC's statemap.jar and javassist.jar. There is no need to
download these jar files separately and include on the classpath.... read more

Posted by Charles Rapp 2014-05-18

eBus 3.1.0: Faster than ever!

eBus v. 3.1.0

NOTE: eBus v. 3.1 contains code-breaking changes due to a
need to simplify message processing and improve eBus
performance.

Overview: The release goal was to noticeably improve eBus
performance by reducing the number of "bookkeeping"
classes and, in turn, reducing the number of instances.

      eBus classes now fall into two categories: subjects and
      handles. There are two subject classes:... [read more](/p/ebus/news/2014/02/ebus-310-faster-than-ever-449/)
Posted by Charles Rapp 2014-02-17

eBus 3.1.0: Faster than ever!

eBus v. 3.1.0

NOTE: eBus v. 3.1 contains code-breaking changes due to a
need to simplify message processing and improve eBus
performance.

Overview: The release goal was to noticeably improve eBus
performance by reducing the number of "bookkeeping"
classes and, in turn, reducing the number of instances.

      eBus classes now fall into two categories: subjects and
      handles. There are two subject classes:... [read more](/p/ebus/news/2014/02/ebus-310-faster-than-ever-776/)
Posted by Charles Rapp 2014-02-17

eBus 3.1.0: Faster than ever!

eBus v. 3.1.0

NOTE: eBus v. 3.1 contains code-breaking changes due to a
need to simplify message processing and improve eBus
performance.

Overview: The release goal was to noticeably improve eBus
performance by reducing the number of "bookkeeping"
classes and, in turn, reducing the number of instances.

      eBus classes now fall into two categories: subjects and
      handles. There are two subject classes:... [read more](/p/ebus/news/2014/02/ebus-310-faster-than-ever/)
Posted by Charles Rapp 2014-02-17

Happy eBus New Year!

eBus v. 3.0.0

NOTE: eBus v. 3 contains code-breaking changes due to a
need to simplify user-defined messages and improve
strong-typing for eBus client interfaces. This release
document lists the changes for each package and class
rather than by major, minor, and bug fixes because the
entire release is a major change.


.Net Update Delayed... read more

Posted by Charles Rapp 2014-01-01

eBus 3: End is in sight.

I have completed feature development and release testing for the eBus Java API. I am now working on the website updates explaining the new eBus API. I plan to have this version released by Christmas, 2013.

I will release the eBus 3 Java version first. The .Net version will be release at a later date.

Posted by Charles Rapp 2013-12-09

eBus 2.3.0: File watcher service update.

eBus v. 2.3.0

NOTE: Final eBus v. 2 release. Next release v. 3.
eBus v. 3 will contain code-breaking changes due to a
need to simplify user-defined messages. The current
EMessage class is difficult to extend, especially coding
subclass constructors. Message identifiers will no longer
be required.

    Also, the ESerializable interface will be changed so that
    user-defined message fields work the same as messages.
    eBus will generate an ELayout for the ESerializable
    subclass and perform the serialization/de-serialization.... [read more](/p/ebus/news/2013/09/ebus-230-file-watcher-service-update/)
Posted by Charles Rapp 2013-09-21

eBus 2.2.4: bug fix release.

eBus v. 2.2.4

Major changes:

(None.)

Minor changes:

+ Changed net.sf.eBus.util.EventObject to use Object instances on
the event queue, rather than java.util.EventObject instances.

Bug fixes:

+ Removed ESubject deadlock.
[Bug 3606232]

+ ERemoteApp attempts to set the message reply identifier to -1,
which is an illegal argument. Since the default value for the
reply identifier is -1, ERemoteApp should do nothing when the
reply identifier needs to be set to -1.
[Bug 3597445]... read more

Posted by Charles Rapp 2013-04-28

eBus v. 2.2.3

eBus v. 2.2.3

HAPPY NEW YEAR!

Major changes:

+ Added an eBus service to allow access to system timers
(Java: java.util.Timer, C#: System.Timers.Timer) via eBus
request/reply messages. The net.sf.eBusx.util.TimerRequest/
EBus.Timers.TimerRequest starts the timer with the specified
parameters and net.sf.eBusx.util.Timer.TimerReply/
EBus.Timer.TimerReply is sent when the requested timer expires.
[Feature 3597970]... read more

Posted by Charles Rapp 2013-01-01

eBus v. 2.2.2

eBus v. 2.2.2

Major changes:

(None.)

Minor changes:

(None.)

Bug fixes:

+ The feed information and subscription information data
structures got out of sync so that an ESubscriber.feedStatus
(Java) / IESubscriber.FeedStatus (C#) callbacks would have a
true feedStatus but a zero pubCount. This was due to the
subscription information not being initialized correctly with
the current publisher set.
[Bug 3596137]... read more

Posted by Charles Rapp 2012-12-16

eBus 2.2.1 released.

eBus v. 2.2.1

Major changes:

(None.)

Minor changes:

(None.)

Bug fixes:

+ There is a problem when a remote application has multiple
publishers for the same subject results the local application
opening multiple subscribers for each remote publisher. This
results in the same message being transmitted to each
subscriber and so duplicate messages.
[Bug 3582371]

+ The C# IESubscriber.FeedStatus method is missing the pubCount
parameter which the Java ESubscriber.feedStatus method
contains.
[Bug 3582372]... read more

Posted by Charles Rapp 2012-11-03

Re-release javadoc_2_2_0.tgz.

Corrected the eBus javadoc version label and that it referenced the Java 7 webpages.

Posted by Charles Rapp 2012-10-14

eBus 2.2.0 Released

eBus v. 2.2.0

Major changes:

+ eBus now requires Java 7 to run.
All eBus source code and JUnit test code has been updated
to use the Java 7 code features.

+ Released the .Net eBus libraries and esample application.
The source code is found in eBus/dotNet/EBus and the
solution file is eBus/dotNet/EBus/EBus.sln.

+ eBus has moved from using java.lang.reflect to
java.lang.invoke for message serialization and
deserialization. This has noticeably improved remote
communication performance.... read more

Posted by Charles Rapp 2012-09-30

Web site updated.

I have corrected the programmers manual section on defining an ESerializable type in Java (http://ebus.sourceforge.net/eBus/TypeDefinition_Java.html). This page was not updated when the February release was done and so contained incorrect description of the required deserialization code. The current page is not correct.

Posted by Charles Rapp 2012-04-22

eBus 2.1.2 Released.

eBus v. 2.1.2

Major changes:

(None.)

Minor changes:

(None.)

Bug fixes:

+ AsyncSocket.close() did not correctly close the connection
with output pending. This is now corrected.

NOTE: This release is based on Java 6.

Posted by Charles Rapp 2012-04-15

.Net implementation.

I continue to promise myself that I will release the eBus .Net API I have but I am continually disappointed with the .Net VM and sockets API. I cannot get the eBus .Net version to perform as well as Java. The Java version trades off memory for CPU performance - which I like - while .Net trades CPU performance for memory. The result is that my Java and .Net profiling applications have completely opposite profiles. Java profiles show much memory usage but goes easy on the CPU. The .Net profiles consume so much CPU as to make a box unusable.... read more

Posted by Charles Rapp 2012-03-27

Java 7 update.

I have moved eBus to Java 7, changing from java.lang.reflect to java.lang.invoke and there is ~40% performance improvement in message transmission. There is still much work to be done but Java 7 is a definite improvement over Java 6.

Posted by Charles Rapp 2012-03-27

Move to Java 7.

It is my intention to move to Java 7 some time this year, 2012. I want to use the performance improvements found in the new MethodHandle technology. Since MethodHandle is not backward compatible to Java 6, it will mean eBus users will have to move to Java 7 also. But I am also aware that I am behind the Java leading edge by still using Java 6.

I will keep you all informed of my move to Java 7.

Posted by Charles Rapp 2012-03-11

eBus 2.1.1 Released.

eBus v. 2.1.1

Major changes:

+ Added net.sf.eBusx.monitor package. This allows eBus
applications to be remotely monitored by having
select classes implement the
net.sf.eBusx.monitor.Monitorable interface and registered
with net.sf.eBusx.monitor.Monitor.

Minor changes:

(None.)

Bug fixes:

(None.)

Posted by Charles Rapp 2012-03-11

eBus 2.1.0 Released.

eBus v. 2.1.0

NOTE: Due to the major changes made to eBus, please read the eBus
project documentation at http://ebus.sourceforge.net.

Major changes:

+ Changed net.sf.eBus.net.SocketListener.handleInput
parameters to
1. a java.nio.ByteBuffer contains the input,
2. number of bytes received, and
3. the AsyncSocket instance which received the bytes.
This change means that once the incoming bytes are
received into the AsyncSocket input buffer, they do
not need to be further copied. The incoming bytes
can be processed using the input buffer. This change
improves overall socket I/O processing.... read more

Posted by Charles Rapp 2012-02-26