is it possible to add ui tools to existing spring boot application with flowable engine ?
Added dependencies , but spring complains that resources ar not FOUND(404)
implementation group: 'org.flowable', name: 'flowable-spring-boot-starter-ui-task', version: '6.7.2'
implementation group: 'org.flowable', name: 'flowable-spring-boot-starter-process-rest', version: '6.7.2'
implementation group: 'org.flowable', name: 'flowable-spring-boot-starter-ui-admin', version: '6.7.2'
implementation group: 'org.flowable', name: 'flowable-spring-boot-starter-ui-modeler', version: '6.7.2'
No. You can't. Because Flowable Engine and REST API wrapper (flowable-rest.war) - is core product. But, flowable-ui.war, is independent product to demonstrate ability of Flowable, and inner UI part implemented using AngularJS.
Related
I am using spring cloud bus with kafka to update the config property for multiple instances at once.
I have a cloud-config server running on localhost:8888,
Find the below property for cloud config server :
server.port=8888
spring.application.name=clientServer
spring.cloud.config.server.default-label=master
spring.cloud.config.server.git.uri=https://github.com/kumawatanupriya/demo-cloud-config.git
management.endpoints.web.exposure.include=*
management.endpoint.env.post.enabled=true
spring.cloud.config.enabled=false
spring.cloud.bus.enabled=true
spring.cloud.stream.kafka.binder.brokers=localhost:9092
spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
Find the below dependencies used for cloud config server :
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.cloud:spring-cloud-starter-bus-kafka'
implementation 'org.springframework.cloud:spring-cloud-config-server'
implementation 'org.springframework.cloud:spring-cloud-config-monitor'
I am running 3 instances of cloud-config-client on localhost:8080, 7011, 7012.
Find the below property for cloud config client :
spring.config.import=configserver:http://localhost:8888
management.endpoints.web.exposure.include=*
management.endpoint.env.post.enabled=true
spring.cloud.bus.enabled=true
spring.cloud.bus.refresh.enabled=true
spring.cloud.bus.env.enabled=true
endpoints.spring.cloud.bus.refresh.enabled=true
endpoints.spring.cloud.bus.env.enabled=true
spring.cloud.bus.trace.enabled=true
spring.cloud.stream.kafka.binder.autoAddPartitions=true
spring.cloud.stream.kafka.binder.brokers=localhost:9092
spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
spring.profiles.active=test
Find the below dependencies used for config client :
implementation 'org.springframework.boot:spring-boot-starter-web'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'
implementation 'org.springframework.cloud:spring-cloud-starter-bus-kafka'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-stream'
implementation "org.springframework.cloud:spring-cloud-stream-binder-kafka"
I have a git repo with config file including property inventory.initial.mode.
When i update this property in github and hit this bus refresh endpoint localhost:8080/actuator/busrefresh. it only changes the value for one instances localhost:8080, it doesn't change it for 7011, 7012.
I tried hitting config-server refresh enpoint as well localhost:8888/actuator/busrefresh, but it also didn't update the value.
I added the monitor as well in config-server still it's not updating.
please help me identify the issue.
What am I doing wrong??
I have spring-boot application and it has the next dependencies:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
implementation "com.datadoghq:dd-java-agent:0.75.0"
annotationProcessor "com.datadoghq:dd-java-agent:0.75.0"
testImplementation 'org.springframework.boot:spring-boot-starter-test'}
bootRun {
jvmArgs = ["-javaagent:" + configurations.runtimeClasspath.files.find { f -> f.path.contains('dd-java-agent') }.path]
}
I execute Datadog agent in the container and configure it there(KEY, ENV).
When I use API from dd-trace (like datadog.trace.api.Trace), I can see traces in Datadog. But when I use sleuth API to create spans/tags/events I cant see traces.
Is it possible to use sleuth API to send traces to Datadog via Datadog agent? If yes, what do I need to do for it?
Spring Cloud Sleuth supports two tracing libraries:
Brave: the tracing lib of OpenZipkin (Sleuth uses this by default)
OpenTelemetry: you need to add Sleuth-OTel but it is in incubator so not recommended in production, also OpenTelemetry Java is still in alpha
There are a few things you can do:
It seems Datadog supports both of the above through the OTel collector: see the docs how to set it up
There is a zipkin to datadog proxy
There is a zipkin-datadog reporter
You can write your own for Sleuth, see: https://github.com/spring-cloud/spring-cloud-sleuth/issues/707
You can ask Datadog to add "native" support for the Zipkin format: https://github.com/DataDog/dd-trace-java/issues/351
I'm following this rest json tutorial. After creating the project using maven as described in the tutorial, I start quarkus in dev mode via:
./mvnw compile quarkus:dev
The automatically generated project comes with a sample JacksonResource type, which has JAX-RS annotations in place. When I visit http://localhost:8080/resteasy-jackson/quarks , the REST api works just fine and I see the json payload in the browser.
When I modify the elements of the Set<Quark> typed field (by changing code in the constructor) in the resource type and save the file, changes are not reflected in the json payload if I refresh the page.
This is Ubuntu 18.04.
./mvnw --version produces:
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /home/<user-name>/.m2/wrapper/dists/apache-maven-3.6.3-bin/1iopthnavndlasol9gbrbg6bf2/apache-maven-3.6.3
Java version: 11.0.10, vendor: GraalVM Community, runtime: /usr/lib/jvm/graalvm-ce-java11-21.0.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-101-generic", arch: "amd64", family: "unix"
What am I missing here?
Update:
It looks like the changes to code in the constructor of a type are not reloaded. If I change something in a method, hot reload/replace works as expected. I'm updating the title of the question and content accordingly.
I could not reproduce the works-only-once scenario either. It looks like there are some edge cases.
I'll assume you use Quarkus 1.11 or higher. In 1.11 instrumentation was added as a way to not do a full restart when only body of methods changed.
Thus I could imagine that what you are seeing is that you are not actually triggering a full restart and thus your new constructor is also not called as it is reusing objects. Could that be the case ?
if yes, and you prefer to have full restart to trigger full reconstruction of your objects then you can set quarkus.dev.instrumentation=false and Quarkus will not try and optimize using instrumentation but do a full restart.
If you do believe you are creating full new objects then do please open an issue at https://github.com/quarkus/issues
I'm trying to get latest Layer version with serverless framework by using serverless-latest-layer-version plugin. That plugin itself can get latest version of Layer but problem is whenever I made new deployment for both layers and function, layer version is always showing previous one of new layer version. Below is serverless.yml that to get latest version and applied it into function. Help me to suggest anything I missed to configure to latest layer version?
layers:
my-layers:
path: my-layers
name: ${opt:stage, 'development'}-my-layer
description: Save all common npm dependencies in single project
compatibleRuntimes:
- nodejs10.x
functions:
app:
handler: index.handler
layers:
- arn:aws:lambda:ap-southeast-1:#{AWS::AccountId}:layer:${opt:stage, 'development'}-my-layer:latest
I think you could use a CloudFormationRef. See the documentation at Serverless (https://www.serverless.com/framework/docs/providers/aws/guide/layers/):
To use a layer with a function in the same service, use a
CloudFormation Ref. The name of your layer in the CloudFormation
template will be your layer name TitleCased (without spaces) and have
LambdaLayer appended to the end. EG:
layers:
test:
path: layer
functions:
hello:
handler: handler.hello
layers:
- { Ref: TestLambdaLayer }
I am running SCDF on Kubernetes and have scheduled some tasks. I have to pass annotations to my tasks. I have given the following annotations in env:
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_POD_ANNOTATIONS
value:
- name: SPRING_CLOUD_DEPLOYER_KUBERNETES_JOB_ANNOTATIONS
value:
These work when i manually trigger the task. I also want these annotations to be added to pods created by scheduled cron jobs. How can i do that?
I tried the following annotations:
- name: SPRING_CLOUD_SCHEDULER_KUBERNETES_POD_ANNOTATIONS
value:
- name: SPRING_CLOUD_SCHEDULER_KUBERNETES_JOB_ANNOTATIONS
value:
The support for podAnnotations and jobAnnotations is not implemented yet in spring-cloud/spring-cloud-scheduler-kubernetes project. It'd be a port of exactly the same functionality that is already available in spring-cloud/spring-cloud-deployer-kubernetes project.
As discussed at spring-cloud/spring-cloud-dataflow-server-kubernetes/issues/428#issuecomment-488670392, it can be implemented and released when it is ready.
Contributions welcome!