eBus / News: Recent posts

eBus 4.0.0: New API

eBus v. 4.0.0

Overview: Major API and JVM Changes

Note: eBus v. 4.0.0 is NOT backward compatible.
Note: eBus v. 4.0.0 requires Java 8.

eBus 4 changes the API between the application and eBus.
eBus API is now based on feeds, making a simpler API to use.

An application interacts with eBus by:

  1. Opening a publisher/subscriber/requestor/replier feed.
  2. Advertising/subscribing on that feed.
  3. Sending/receiving messages on that feed.... read more
Posted by Charles Rapp 2016-03-13

Re-designing net.sf.eBus.client package.

The next eBus release will be version 4.0.0, introducing a new eBus API. The old API based on EAdvertisement, ESubscription, etc. will be replaced with a new API based on feeds. For each eBus role (EPublisher, ESubscriber, ERequestor, and EReplier), there is a feed (EPublishFeed, ESubscribeFeed, ERequestFeed, and EReplyFeed). The new API will be used as follows:

  1. Implement an eBus role.
  2. Open the feed associated with that role and for a specific message key.
  3. Advertise/subscribe/request on that feed.
  4. When done, unadvertise/unsubscribe from that feed.
  5. Close the feed.... read more
Posted by Charles Rapp 2016-02-09

Moving to Java 8.

Java 8 has been out for almost 1.5 years and Java 9 will be out in 1 year. There are features in that release which I wish to use in eBus. As a result, the next release will be built with Java 8 and will be using lambda features.

So be aware that eBus is moving on to Java 8.

Posted by Charles Rapp 2015-08-06

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

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks