SnoopEE - A Discovery Service for Java EE

Related tags

Spring Boot snoop
Overview

SnoopEE - A Discovery Service for Java EE

SnoopEE [ˈsnuːpı] is an experimental registration and discovery service for Java EE based microservices.

SnoopEE 2.x has a new repo location. Go to the new SnoopEE GitHub Repo

Maven

  1. Released artifacts are available in Maven Central

  2. Snapshots configuration:

    <repositories>
       <repository>
          <id>agilejava-snapshots</id>
          <url>http://nexus.agilejava.eu/content/groups/public</url>
          <snapshots>
             <enabled>true</enabled>
          </snapshots>
       </repository>
    </repositories>
Comments
  • Allow host/port to be defined programmatically or in pom.xml

    Allow host/port to be defined programmatically or in pom.xml

    When multiple services are running in Docker, then host/port could vary with each run. Changing application.yaml will require the archive to be bundled again. It would be useful to provide host/port that can be either picked up programmatically or passed from pom.xml.

    fixed 
    opened by arun-gupta 5
  • Simple service registration seems not to work

    Simple service registration seems not to work

    I started the Snoop service in a Docker container (which is running in Vagrant because I'am working on a Windows machine) with the following command:

    docker run -it -d -p 8081:8080 ivargrimstad/snoop-service
    

    It starts successfully and is then accessible via the browser on: http://localhost:8081/snoop-service.

    Next, I created a new project (source attached) and trying to start it in a Glassfish 4.1.1 instance. This fails, the output from IntelliJ:

    C:\Tools\glassfish-4.1.1\glassfish\bin\asadmin.bat start-domain domain1
    [2015-10-29 11:11:34,733] Artifact untitled5:war: Server is not connected. Deploy is not available.
    Detected server admin port: 4848
    Detected server http port: 8080
    Attempting to start domain1.... Please look at the server log for more details.....
    Connected to server
    [2015-10-29 11:11:43,213] Artifact untitled5:war: Artifact is being deployed, please wait...
    [2015-10-29 11:12:12,272] Artifact untitled5:war: Error during artifact deployment. See server log for details.
    [2015-10-29 11:12:12,273] Artifact untitled5:war: java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : javax.ejb.CreateException: Initialization failed for Singleton SnoopRegistrationClient. Please see server.log for more details.
    

    Glassfish server log: https://www.dropbox.com/s/vokck0xl3sri3cl/server.log?dl=0 Source code: https://www.dropbox.com/s/j99azkh724ef9u9/source.zip?dl=0

    bug help wanted 
    opened by stefan-kemp 4
  • Reading .yaml configuration from classpath using current threads classloader

    Reading .yaml configuration from classpath using current threads classloader

    The SnoopProducer reads the config .yaml file from classpath by using this.getClass().getClassloader() which IMHO is not appropriate within JEE. This should be done by using the current threads classloader. This way you don't make any assumptions whether the classloader which loaded the SnoopProducer is still available for loading the config.

    Please see: http://jeecookbook.blogspot.de/2013/07/java-why-you-should-not-use.html

    opened by svendiedrichsen 1
  • Change the Docker image to WildFly 9.0

    Change the Docker image to WildFly 9.0

    Snoop Docker container shows the following message:

    14:49:16,825 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-2) JBAS017534: Registered web context: /snoop-service
    14:49:16,932 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "snoop-service-1.0.0-SNAPSHOT.war" (runtime-name : "snoop-service-1.0.0-SNAPSHOT.war")
    14:49:16,968 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
    14:49:16,970 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
    14:49:16,970 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 9054ms - Started 327 of 380 services (92 services are lazy, passive or on-demand)
    

    This shows that the image is still based on WildFly 8.2.0.Final.

    Please move this to WildFly 9.0.0.Final.

    fixed 
    opened by arun-gupta 1
  • Distributed Registry

    Distributed Registry

    It would be really neat if:

    • SnoopEE service endpoints broadcast themselves via multicast to the current subnet
    • SnoopEE in the consuming application listened for these heartbeats
    • The CDI SnoopEE proxy in the consuming application chose a service endpoint based on the current heartbeat activity
    • If a heartbeat dies, the CDI SnoopEE proxy would stop sending traffic there
    • If a heartbeat is added, the CDI SnoopEE proxy starts sending traffic there

    Cheers,

    opened by exabrial 1
  • SnoopEE Service Resillience

    SnoopEE Service Resillience

    Let multiple instances of the SnoopEE service share service registers and keep track of each other Return list of available SnoopEE services to client services on heartbeat SnoopServiceClient should loop through SnoopEE services in list until one responds

    enhancement service client 
    opened by ivargrimstad 0
  • Refactor Client classnames

    Refactor Client classnames

    Names to consider renaming (may be more):

    @Snoop SnoopProducer SnoopDiscoveryClient SnoopApplicationClient

    Also consider introducing interfaces where approprieate

    enhancement client 
    opened by ivargrimstad 0
Owner
Ivar Grimstad
Java Champion, Jakarta EE Developer Advocate, JUG Leader, JCP EC Member, EE4J PMC, Speaker
Ivar Grimstad
APIKit:Discovery, Scan and Audit APIs Toolkit All In One.

APIKit:Discovery, Scan and Audit APIs Toolkit All In One.

APISecurity Community 976 Jan 9, 2023
A Velocity proxy plugin for Minecraft server discovery in k8s. All discovered servers are automatically added to the Velocity proxy.

kryo-server-discovery This plugin connects minecraft servers to a velocity proxy within Kubernetes. The service account in the namespace which the pro

Kryonite 9 Sep 13, 2022
Lightweight service-based PubSub, RPC and public APIs in Java

kite - service-based RPC, public APIs and PubSub in Java kite is a collection of reactive application messaging libraries that aim at providing high l

teris.io 3 Feb 17, 2022
Java library to perform reverse Domain Name Service (rDNS) lookups with ease.

ipregistry-rdns Java library to perform reverse Domain Name Service (rDNS) lookups with ease. The library is async, thread-safe and has built-in suppo

Ipregistry 2 Jul 18, 2022
ESA ServiceKeeper is a lightweight service governance framework.

ServiceKeeper ServiceKeeper is a lightweight service governance framework that provides many awesome features such as rate limit, concurrent limit, ci

ESA Stack 22 Aug 11, 2022
Simple and extensible identity management service

AuthGuard An easy-to-use, and easy-to-customize, identity server. It supports multiple authentication and authorization options and can be extended to

null 7 Jan 9, 2022
Drone - A service via REST API that allows clients to communicate with drones

Drone - A service via REST API that allows clients to communicate with drones (i.e. **dispatch controller**). The specific communication with the drone is outside the scope of this task.

Obinna Ogbonna 1 Jan 10, 2022
Restler is a library that automatically generates a client for a web service at run time, by analyzing the respective annotated Spring controller interface

Restler Overview Restler is a library that automatically generates a client for a web service at run time, by analyzing the respective annotated Sprin

Excelsior LLC 29 Oct 24, 2022
The ANT HAL Service functions as a JNI wrapper for the ANT HAL.

Android ANT HAL Service v.4.0.0 - 25 Aug 2014 The ANT HAL Service functions as a JNI wrapper for the ANT HAL. The ANT Hal Service provides the messagi

Project Kaleidoscope 0 Jun 11, 2022
A secured RESTful service for company payrolls.

Account Service A RESTful service for a company to upload employee payrolls. Scope Project was created as part of a learning track of an online academ

Alexios Giazitzis 1 Feb 14, 2022
SpringBoot service to pick up CAN messages retransmitted by CANBridge and extract certain values for reporting/monitoring/alerting via DataDog

SpringBoot service to pick up CAN messages retransmitted by CANBridge and extract certain values for reporting/monitoring/alerting via DataDog

Grumpy Cricket 2 Mar 12, 2022
Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals

Critter Chronologer a Software as a Service application that provides a scheduling interface for a small business that takes care of animals. This Spring Boot project will allow users to create pets, owners, and employees, and then schedule events for employees to provide services for pets.

Rasha Omran 1 Jan 28, 2022
Spring REST service built with Spring initializr and Spring Data.

Spring REST Service Generated with start.spring.io, using Spring Data. Documented using Spring REST Docs. Spring Initializr - Generate new Spring Rest

null 1 Jan 28, 2022
A simple and efficient short URL conversion service based on SpringBoot.

A simple and efficient short URL conversion service based on SpringBoot What is GeniusShortUrl? GeniusShortUrl is an open source reactive service that

null 2 Apr 8, 2022
A platform that links service providers with clients using Angular & Springboot

Bricoly : Engineer Your Life The Way It Should Be... ?? Description This project's aims to connect people who are able to grant services with clients

Yasser Douslimi 9 May 28, 2022
Transfer Service app to transfer money between source and destination account

transferserviceapp Transfer Service app to transfer money between source and destination account H2 Console available at : http://localhost:8080/h2-co

null 1 Oct 21, 2021
A reservation service of the Innovation academy for visitors.

42Visitor_server 스웨거 문서 주소: http://localhost:8080/swagger-ui.html AWS SMS 기능 사용 시 설정 ./src/main/resources/application-local.properties cloud.aws.regio

Innovation Academy 1 Nov 17, 2021
Service that will swap rbtc for btc and then initiated a loopin through lnd-loop

Code https://github.com/grmkris/marduk-admin-frontend https://github.com/grmkris/marduk-admin-backend RSK balances https://wiki.sovryn.app/en/technica

Kris 2 Dec 31, 2021
A service that executes binaries for Kodi's addon Elementum on Android without a W^X violation.

ElementumService A service that executes binaries for Kodi's addon Elementum on Android without a W^X violation. Download Use source https://StefanIlc

null 58 Dec 31, 2022