Comments (12)
This is due to WebSockets dependency (described in README) :-( I think @jpaulm can bring the web sockets examples out into a separate repo and thus will make it possible to publish JavaFBP to one of the central repositories.
from javafbp.
I'm using java-websockets 1.3.0 pulled down from Maven Central in https://github.com/jonnor/javafbp-runtime. Very quick testing seems to indicate this works OK. Is there an issue with using 1.3.0 for the JavaFBP examples?
from javafbp.
javafbp-websocket 1.3.1 has not been released (1.3.0 is latest), so I don't think we should wait for that to happen unless there are critical bugs in 1.3.0.
from javafbp.
That's interesting! My test case never works with 1.3.0, but does work
with 1.3.1, which is why I never understood why TooTallNate et al. never
promoted 1.3.1 to Maven Central.
Maybe, if I look at your code, which apparently does work with it, I can
spot some differences.Alternatively, if either of you could look at my
WebSocketReceive component, and see if perhaps it's over-complex...?
I can certainly split off my WebSockets stuff into a separate project, so
I'll do that over the next few days. That's a good idea! May need some
help with the Gradle...!
It seems to be a lot of work to promote stuff to Maven Central, and we're
now using Gradle, so is it really necessary? Does Gradle have a central
repository? If not, what about the GitHub Releases mechanism?
Thanks for the good feedback!
Paul
from javafbp.
Gradle projects also uses Maven Central. Since gradle 2.0 there is publishing plugin one can use: http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as a library.
Separating out the WebSocket components and examples might be the best approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for following methods: onWebsocketHandshakeReceivedAsServer, onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is ancient. Probably best to use the default.
from javafbp.
Thanks, I'll try that - might take a couple of days though, as I have a lot
on right now...
Thanks,
Paul
PS what did you mean by the comment about including the project as a
library? Tkx.
On 2014-09-09 12:57 PM, "Jon Nordby" [email protected] wrote:
Gradle projects also uses Maven Central. Since gradle 2.0 there is
publishing plugin one can use:
http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as
a library.Separating out the WebSocket components and examples might be the best
approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for
following methods: onWebsocketHandshakeReceivedAsServer,
onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is
ancient. Probably best to use the default.—
Reply to this email directly or view it on GitHub
#5 (comment).
from javafbp.
When a developer wishes to create software with JavaFBP, they will have their own project (SuperEnterprise2000) with its own project files (gradle,maven or similar). In that project they should just be able to specify 'com.jpmorrison.fbp.javafbp:3.0' as a dependency and have the build system automatically download and set up that dependency.
from javafbp.
Thanks! Got it!
3.0 as in 2.9 + 1 ... or do you mean that the new release will not be
upwards compatible with 2.9? I guess it won't be as we are carving out the
WebSockets stuff...?
Cheers,
Paul
On 2014-09-09 1:15 PM, "Jon Nordby" [email protected] wrote:
When a developer wishes to create software with JavaFBP, they will have
their own project (SuperEnterprise2000) with its own project files
(gradle,maven or similar). In that project they should just be able to
specify 'com.jpmorrison.fbp.javafbp:3.0' as a dependency and have the build
system automatically download and set up that dependency.—
Reply to this email directly or view it on GitHub
#5 (comment).
from javafbp.
3.0 was just a version number. No other meaning intended
from javafbp.
I might use 3.0 anyway - sounds good! Although there won't be much
difference in function!
Cheers,
Paul
On 2014-09-09 1:52 PM, "Jon Nordby" [email protected] wrote:
3.0 was just a version number. No other meaning intended
—
Reply to this email directly or view it on GitHub
#5 (comment).
from javafbp.
Hi Jon,
Looks like you are on the right track! I dropped the Draft_10 parameter,
and my test is now running! However, it doesn't close down cleanly - when
I do a WebSocketServer.stop, I get the following:
Error:
java.nio.channels.ClosedByInterruptException
Connection closed (1006) by us
Run complete. Time: 24.835
seconds
(these two lines are mine!)Counts: C: 204, D: 206, S: 207, R (non-null):
210, DO: 0 *
( ditto )*
at java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown
Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at
org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:52)
at
org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:349)
at java.lang.Thread.run(Unknown Source)
I don't feel this is very clean (not what you might call "industrial
strength"), so I've got to do a bit more research!
I have hived off a JavaFBP-WebSockets application from JavaFBP, as you, or
possibly Alex, suggested, but I won't promote it until I've got it closing
down a bit more cleanly.
Thanks for the suggestions! It's looking promising!
Paul
On Tue, Sep 9, 2014 at 12:57 PM, Jon Nordby [email protected]
wrote:
Gradle projects also uses Maven Central. Since gradle 2.0 there is
publishing plugin one can use:
http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as
a library.Separating out the WebSocket components and examples might be the best
approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for
following methods: onWebsocketHandshakeReceivedAsServer,
onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is
ancient. Probably best to use the default.—
Reply to this email directly or view it on GitHub
#5 (comment).
from javafbp.
Hi @jonnor, I can't understand how this remained unclosed for almost 2 years! My test case works - so what is the status of this issue? Do JavaFBP and/or javafbp-websockets need to be added to Maven? Also, I think you said you got java-websockets 1.3.0 from Maven - I don't remember adding it, and it doesn't seem to be there now! Help would be appreciated!
from javafbp.
Related Issues (20)
- Exception in thread "Generate" java.lang.IllegalMonitorStateException HOT 4
- Add support for running .fbp/.json/.drw files "on the fly" HOT 2
- Component throws java.lang.ThreadDeath instead of specific exception HOT 3
- Can Dining Philosophers problem be implemented in JavaFBP? HOT 4
- has development stopped? HOT 4
- LoadBalance with substreams HOT 7
- Version, Timestamp and Copyright HOT 6
- testfile.ldif missing from CompressLdif example HOT 2
- Attempting to deploy JavaFBP to Maven Central HOT 1
- Can't able to use same component multiple times in a network HOT 6
- Port descriptions need to be added to many components
- Need pseudo-javadoc facility, with good search facility
- GraalVM for integrated multi-language support (without code generation?)
- On The "Save File" dialog pressing escape or closing the window should cancel, not exit without save. HOT 3
- Jar file contains MySQL HOT 2
- Question : Skipping computation if inputs have not change, how to check that situation ? HOT 1
- Action Required: Fix Renovate Configuration
- Dependency Dashboard
- building with JetBrains IDEA (IntelliJ) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from javafbp.