Skip to content

Commit

Permalink
Update to Camunda 7.14 - and allow telemetry to be configured.
Browse files Browse the repository at this point in the history
  • Loading branch information
tobiasschaefer authored and Hayvon committed Nov 6, 2020
1 parent 5825795 commit c8b2b48
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 2 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ You may use the following properties (typically in application.yml) to configure
|----------------------|------------------|----------------------------------------------|------------------------|
| camunda.bpm | .history-level | auto | Camunda history level, use one of [`full`, `audit`, `activity`, `none`, `auto`]. `auto` uses the level already present in the database, defaulting to `full`. |
| camunda.bpm.database | .schema-update | true | If automatic schema update should be applied, use one of [`true`, `false`, `create`, `create-drop`, `drop-create`] |
| camunda.bpm.telemetry| .telemetryReporterActivate | true | Enable to report anonymized data about the installation to Camunda |
| camunda.bpm.telemetry| .initializeTelemetry | false | Enable to report anonymized data about the process engine usage to Camunda |

### Custom Process Engine Configuration

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# The project property 'version' is overwritten via .github/workflows/publish-release.yml
version=0.0.1-SNAPSHOT
micronautVersion=2.1.3
camundaVersion=7.13.0
camundaVersion=7.14.0
# Prevent upload of maven-metadata.xml.sha256/sha512 files to oss.sonatype.org
# see https://issues.sonatype.org/browse/OSSRH-53695?focusedCommentId=887733&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-887733
# see https://github.com/gradle/gradle/issues/11308#issuecomment-554317655
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
micronaut:
application:
name: micronaut-camunda-example
camunda.bpm.telemetry.initializeTelemetry: true
2 changes: 2 additions & 0 deletions micronaut-camunda-bpm-example/src/main/resources/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
</encoder>
</appender>

<logger name="org.camunda.bpm.engine.telemetry" level="DEBUG" />

<root level="info">
<appender-ref ref="STDOUT"/>
</root>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,24 @@ public interface Configuration {
@NotNull
Database getDatabase();

@NotNull
Telemetry getTelemetry();

@ConfigurationProperties("database")
interface Database {

@NotBlank
@Bindable(defaultValue = ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE)
String getSchemaUpdate();
}

@ConfigurationProperties("telemetry")
interface Telemetry {

@Bindable(defaultValue = "true")
boolean isTelemetryReporterActivate();

@Bindable(defaultValue = "false")
boolean isInitializeTelemetry();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor;
import org.camunda.bpm.engine.impl.jobexecutor.DefaultJobExecutor;
import org.camunda.bpm.engine.impl.jobexecutor.JobExecutor;
import org.camunda.bpm.engine.impl.telemetry.TelemetryRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -44,7 +45,7 @@ public class MnProcessEngineConfiguration extends StandaloneProcessEngineConfigu

protected final JobExecutorCustomizer jobExecutorCustomizer;

public MnProcessEngineConfiguration(Configuration configuration, ApplicationContext applicationContext, DataSource dataSource, SynchronousTransactionManager<Connection> transactionManager, ProcessEngineConfigurationCustomizer processEngineConfigurationCustomizer, ArtifactFactory artifactFactory, JobExecutorCustomizer jobExecutorCustomizer) {
public MnProcessEngineConfiguration(Configuration configuration, ApplicationContext applicationContext, DataSource dataSource, SynchronousTransactionManager<Connection> transactionManager, ProcessEngineConfigurationCustomizer processEngineConfigurationCustomizer, ArtifactFactory artifactFactory, JobExecutorCustomizer jobExecutorCustomizer, TelemetryRegistry telemetryRegistry) {
this.transactionManager = transactionManager;
this.jobExecutorCustomizer = jobExecutorCustomizer;
setDataSource(dataSource);
Expand All @@ -55,6 +56,8 @@ public MnProcessEngineConfiguration(Configuration configuration, ApplicationCont
setExpressionManager(new MnExpressionManager(new ApplicationContextElResolver(applicationContext)));
setArtifactFactory(artifactFactory);

configureTelemetry(configuration, telemetryRegistry);

processEngineConfigurationCustomizer.customize(this);
}

Expand Down Expand Up @@ -107,4 +110,12 @@ private List<CommandInterceptor> getCommandInterceptors(boolean requiresNew) {
new CommandContextInterceptor(commandContextFactory, this, requiresNew)
);
}

private void configureTelemetry(Configuration configuration, TelemetryRegistry telemetryRegistry) {
setTelemetryReporterActivate(configuration.getTelemetry().isTelemetryReporterActivate());
if (configuration.getTelemetry().isInitializeTelemetry()) {
setInitializeTelemetry(true);
}
setTelemetryRegistry(telemetryRegistry);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package info.novatec.micronaut.camunda.bpm.feature;

import org.camunda.bpm.engine.impl.telemetry.TelemetryRegistry;

import javax.inject.Singleton;

/**
* Micronaut specific implementation of {@link TelemetryRegistry}.
*
* @author Tobias Schäfer
*/
@Singleton
public class MnTelemetryRegistry extends TelemetryRegistry {

private static final String INTEGRATION_NAME = "micronaut-camunda-bpm";

@Override
public String getCamundaIntegration() {
return INTEGRATION_NAME;
}
}

0 comments on commit c8b2b48

Please # to comment.