2016-01-21 13:18:55 +01:00
# hawkBit Example Application
2016-04-02 13:29:40 +02:00
The hawkBit example application is a standalone spring-boot application with an embedded servlet container to host the hawkBit Update Server.
2016-01-21 13:18:55 +01:00
2016-04-02 13:29:40 +02:00
We have have described several options for you to get access to the example.
## Try out the example application in our hawkBit sandbox on Bluemix
2016-05-02 17:14:53 +02:00
- try out Management UI https://hawkbit.eu-gb.mybluemix.net/UI (username: admin, passwd: admin)
- try out Management API https://hawkbit.eu-gb.mybluemix.net/rest/v1/targets (don't forget basic auth header; username: admin, passwd: admin)
- try out DDI API https://hawkbit.eu-gb.mybluemix.net/DEFAULT/controller/v1/MYTESTDEVICE (authentication disabled)
2016-04-02 13:29:40 +02:00
## On your own workstation
### Run
2016-01-21 13:18:55 +01:00
```
java -jar examples/hawkbit-example-app/target/hawkbit-example-app-*-SNAPSHOT.jar
```
2016-05-02 17:08:01 +02:00
2016-05-02 17:08:43 +02:00
_(Note: you have to add the JDBC driver also to your class path if you intend to use another database than H2.)_
2016-05-02 17:08:01 +02:00
2016-01-21 13:18:55 +01:00
Or:
2016-05-02 17:08:01 +02:00
2016-01-21 13:18:55 +01:00
```
run org eclipse.hawkbit.app.Start
```
2016-04-02 13:29:40 +02:00
### Usage
The Management UI can be accessed via http://localhost:8080/UI
The Management API can be accessed via http://localhost:8080/rest/v1
## Deploy example app to Cloud Foundry
2016-04-02 21:00:34 +02:00
- Go to ```target` `` subfolder.
2016-04-02 13:29:40 +02:00
- Select one of the two manifests
- **manifest-simple.yml** for a standalone hawkBit installation with embedded H2.
- **manifest.yml** for a standalone hawkBit installation with embedded H2 and RabbitMQ service binding for DMF integration (note: this manifest is used for the sandbox above).
2016-04-02 21:00:34 +02:00
- Run ```cf push` `` against you cloud foundry environment.
2016-11-03 15:53:53 +01:00
# Enable Clustering (experimental)
Clustering in hawkBit is based on _ Spring Cloud Bus _ . It is not enabled in the example app by default.
Add to your `application.properties` :
```
spring.cloud.bus.enabled=true
```
Add to your `pom.xml` :
```
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
```
Optional as well is the addition of [Protostuff ](https://github.com/protostuff/protostuff ) based message payload serialization for improved performance.
Add to your `application.properties` :
```
spring.cloud.stream.bindings.springCloudBusInput.content-type=application/binary+protostuff
spring.cloud.stream.bindings.springCloudBusOutput.content-type=application/binary+protostuff
```
Add to your `pom.xml` :
```
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
</dependency>
<dependency>
<groupId>io.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
</dependency>
```