Last active
December 19, 2015 14:58
-
-
Save rodrigoSaladoAnaya/5972605 to your computer and use it in GitHub Desktop.
How to integrating Vert-x in Grails using a PlatformManager. (Test)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//grails-app/conf/BootStrap.groovy | |
import org.vertx.java.platform.PlatformLocator | |
class BootStrap { | |
def vertxPlatformManager | |
def init = { servletContext -> | |
vertxPlatformManager = PlatformLocator.factory.createPlatformManager() | |
URL[] classpath = [new File('./src/verticles').toURI().toURL()] | |
vertxPlatformManager.deployVerticle( | |
'VerticlesTest.groovy', null, classpath, 1, null, null | |
) | |
} | |
def destroy = { | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//grails-app/conf/BuildConfig.groovy | |
grails.project.target.level = 1.7 | |
grails.project.source.level = 1.7 | |
.... | |
/* | |
It's just an example of how add a vertx jars: | |
cd $VERTX_HOME/lib/. | |
mvn install:install-file -Dfile=vertx-testsuite-2.0.0-CR3.jar -DgroupId='io.vertx' -DartifactId='vertx-testsuite' -Dversion='2.0.0-CR3' -Dpackaging=jar | |
mvn install:install-file -Dfile=vertx-platform-2.0.0-CR3.jar -DgroupId='io.vertx' -DartifactId='vertx-platform' -Dversion='2.0.0-CR3' -Dpackaging=jar | |
mvn install:install-file -Dfile=vertx-core-2.0.0-CR3.jar -DgroupId='io.vertx' -DartifactId='vertx-core' -Dversion='2.0.0-CR3' -Dpackaging=jar | |
mvn install:install-file -Dfile=netty-all-4.0.0.CR9.jar -DgroupId='io.vertx' -DartifactId='netty-all' -Dversion='4.0.0.CR9' -Dpackaging=jar | |
mvn install:install-file -Dfile=jackson-databind-2.2.2.jar -DgroupId='io.vertx' -DartifactId='jackson-databind' -Dversion='2.2.2' -Dpackaging=jar | |
mvn install:install-file -Dfile=jackson-core-2.2.2.jar -DgroupId='io.vertx' -DartifactId='jackson-core' -Dversion='2.2.2' -Dpackaging=jar | |
mvn install:install-file -Dfile=jackson-annotations-2.2.2.jar -DgroupId='io.vertx' -DartifactId='jackson-annotations' -Dversion='2.2.2' -Dpackaging=jar | |
mvn install:install-file -Dfile=hazelcast-2.6.jar -DgroupId='io.vertx' -DartifactId='hazelcast' -Dversion='2.6' -Dpackaging=jar | |
*/ | |
dependencies { | |
compile 'io.vertx:hazelcast:2.6' | |
compile 'io.vertx:jackson-annotations:2.2.2' | |
compile 'io.vertx:jackson-core:2.2.2' | |
compile 'io.vertx:jackson-databind:2.2.2' | |
compile 'io.vertx:netty-all:4.0.0.CR9' | |
compile 'io.vertx:vertx-core:2.0.0-CR3' | |
compile 'io.vertx:vertx-platform:2.0.0-CR3' | |
compile 'io.vertx:vertx-testsuite:2.0.0-CR3' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!--grails-app/views/index.gsp--> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>SockJS Test</title> | |
<script src="http://cdn.sockjs.org/sockjs-0.2.1.min.js"></script> | |
</head> | |
<body> | |
<script> | |
var sock = new SockJS('http://localhost:8585/events'); | |
sock.onopen = function() { | |
console.log('open'); | |
}; | |
sock.onmessage = function(e) { | |
console.log('message', e.data); | |
alert('received message echoed from server: ' + e.data); | |
}; | |
sock.onclose = function() { | |
console.log('close'); | |
}; | |
function send(message) { | |
if (sock.readyState == WebSocket.OPEN) { | |
console.log("sending message") | |
sock.send(message); | |
} else { | |
console.log("The socket is not open."); | |
} | |
} | |
</script> | |
<form onsubmit="return false;"> | |
<input type="text" name="message" value="Hello, World!"/> | |
<input type="button" value="Send SockJS data" onclick="send(this.form.message.value)"/> | |
</form> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//grails-app/conf/spring/resources.groovy | |
beans = { | |
vertxPlatformManager(org.vertx.java.platform.PlatformLocator) | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//src/verticles/VerticlesTest.groovy | |
package verticles | |
def httpServer = vertx.createHttpServer() | |
def count = 0 | |
vertx.createSockJSServer(httpServer).installApp(prefix: '/events') { sock -> | |
sock.dataHandler { buff -> | |
sock << buff | |
} | |
} | |
httpServer.listen(8585) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is my version of https://gist.github.com/pledbrook/2652835