Amsterdam MuleSoft Meetup
Date : 21-02-2025
Unlocking Potential: SAP Connectivity
with MuleSoft 4.6 and Java 17
Organizers
Fatih Cihat Turgut, Mulesoft Architect
twitter.com/fcturgut | fatih.turgut@devoteam.com
Speakers
Padma Bandi
• Senior Mulesoft Integration Developer
• 10+ years of experience in Integrations
• MuleSoft Certified Professional
• MuleSoft Delivery Champion
• https://medium.com/@padma.bandi
Sevket Ozturk
• Senior Mulesoft Integration Architect
• 12+ years of experience in Integrations
• MuleSoft Certified Professional
• Dataweave Specialist
AGENDA
● Welcome & Introduction
● Java 17 Upgrade Overview
● SAP connectors upgrade to Java 17
● Demo
● Next Meetup Ideas
MuleSoft Release Channels
● Starting with Mule 4.5, MuleSoft introduced two new channels, Edge and Long-term Support
(LTS).
Channel Type Release Cadense Support coverage Differentiators
Edge Three time per year:
• February
• June
• October
For versions 4.5 to 4.7
• 4 months of standard
support
• 4 months of extended
support
Includes new features on
a frequent release
cadence with shorter
maintenance coverage
LTS Annual:
• February
For versions 4.6 and later:
• 18 months of standard
support
• 6 months of extended
support
Includes new features
introduced in prior Edge
releases, along with new
features in the February
edge release with
extended maintenance
coverage
MuleSoft Release Channels
● Following table shows the Mule runtime release cadence support
Upgrading to Java 17
• MuleSoft is adopting to Java’s long term-support (LTS) release, beginning with
Mule Runtime 4.6 with Java 17 LTS.
• The transition begins with the Mule Runtime 4.6 release, which will support Java 8,
Java 11 and Java 17 LTS.
• Standard support for Java 8 and 11 ends in March 2025 for Mule 4.8 Edge and
August 2025 for 4.6 LTS.
• This table shows the support of each Mule Runtime:
Why upgrading to Java 17 with Mule 4.6 ?
Boosted Performance:
• Java 17 introduces performance improvements such as quicker startup times,
reduced garbage collection delays, and better handling of larger applications.
Strengthened Security:
• Java 17 brings critical security updates and fixes.
• Upgraded applications are protected with the latest defense against vulnerabilities.
Assured Long-Term Support:
• Java 17 is an LTS release, offering extended support for a stable and reliable
foundation especially for enterprise applications with long lifecycles.
Steps for Upgrade
1. Anypoint Studio Update
Upgrade Anypoint Studio to 7.17 or later.
2. Maven configuration
LTS and Edge channels supports 4.1.1 or above maven plugin versions.
Update your pom.xml with the maven plugin version like below
3. Make sure to have maven version above 3.8 or use the embedded
maven installation from window -> preferences -> Anypoint Studio ->
Maven
Steps for Upgrade
Steps for Upgrade
4. Update pom.xml runtime version to 4.6-java17
5. Modify mule-artifact.json to set minMuleVersion to 4.6.0(Only recommended, not
mandatory)
6. Update all the respective connectors in the application to Java 17 compatible versions.
https://help.salesforce.com/s/articleView?id=000782248&type=1
Steps for Upgrade
Anypoint Connector Version
Amazon DynamoDB connector 1.5.2
Amazon EC2 connector 2.5.7
Amazon RDS connector 1.3.9
Amazon RedShift connector 1.0.10
Amazon Secrets Manager Properties Provider 1.0.1
Amazon SNS connector 4.7.5
Amazon SQS connector 5.11.12
Amazon S3 connector 6.3.6
AMQP connector 1.7.7
Anypoint Custom Metrics connector 2.3.0
Anypoint MQ connector 4.0.4
Apache Kafka connector 4.7.5
APIkit 1.10.0
AS2 connector 6.7.0
Asana connector 1.0.8
Azure Cosmos DB connector 1.0.4
Java 17 compatible connectors
Azure Data Lake Storage connector 1.0.4
Microsoft Azure Storage Connector 3.0.0
Azure Key Vault Properties Provider 2.0.1
Azure Service Bus connector 3.2.8
Azure Service Bus Management connector 1.0.3
Box connector 5.2.4
CloudHub connector 1.2.0
Compression module 2.2.3
Confluent Schema Registry connector 1.0.11
Cryptography module 1.3.17
Database connector 1.14.8
Data Cloud connector 1.2.0
DocuSign connector 1.0.6
Dropbox connector 1.0.8
EDIFACT EDI connector 2.9.0
Email connector 1.7.3
File connector 1.5.2
FTP connector 1.8.6
Google Calendar connector 1.2.3
Google Drive connector 1.1.3
Steps for Upgrade
7. Make sure all custom connectors used in your project are supporting java 17.
8. Configure your studio build path to run on Java 17 and Mule runtime 4.6 or above.
With all these steps, you are good to run your application in Java17 with 4.6 runtime.
Note that all the applications are backward compatible. You can also choose Java 8
(Embedded) to run your application using Mule runtime 4.6.
Java 17 Migration Considerations
Error Handling Updates :
1. If you are using “error.errorType.asString” -> Results in an exception in Java 17.
Alternatively use : error.errorType.namespace ++ ":" ++ error.errorType.identifier
2. If you are using error.muleMessage -> Results in an exception
Alternatively use : error.errorMessage
3. If you are using error.errors -> change it to error.childErrors
4. If you encounter a deserializable error: “java.lang.NoClassDefFoundError:
javax/xml/bind/DatatypeConverter” while using the database connector, then add the following
dependency to resolve issue:
Java 17 Migration Considerations
Policies Updates :
1. If you are using any policies in API Manager like client-id enforcement etc.. Update the policy
otherwise you will see an error : “Error occurred registering policy 'client-id-enforcement-mule” in
the runtime logs.
2. To make a custom policy visible in API manager for a Mule app running on Java 17, you first
need to upgrade the custom policy.
Configuring the Java version of custom policy documentation
After Successful Migration
After successful migration, deployed application in Cloudhub looks like below
• Release channel : LTS
• Run time version : 4.6.9:12 (Major: Minor: Patch : Build)
• If Edge, you will notice e at the end : 4.6.9:12e
• Java version : java 17
Use case with SAP connector
Are you connecting with SAP ?
Then below are the considerations while upgrading to 4.6 Runtime and Java 17.
1. Update to the latest SAP connector version in pom.xml
Use case with SAP connector
2. Update the Jco Libraries to 3.1.11 version and Idoc Library to 3.1.3
3. Make sure to have the Jco native library corresponding to Windows, Linus and Mac operating
systems updated in the pom.xml to 3.1.11
Use case with SAP connector
4. Make sure to update all the dependencies in the pom.xml
Use case with SAP connector
5. Make sure to update all the plugins in the pom.xml
Use case with SAP connector
6. Run the application and you will be able to establish the successful connection with the steps
enabled before.
Useful Reference Links
● Upgrading MuleSoft to Java 17: A Comprehensive Guide
● MuleSoft Java 17 Upgrade FAQ
● Mule Runtime Engine 4.6.0 Release Notes | MuleSoft Documentation
● Automating-mule-migration-4.4.0-to-4.6.0
● https://docs.mulesoft.com/mule-runtime/latest/deploy-to-cloudhub
● https://docs.mulesoft.com/general/java-support#dataweave
● Key updates and changes to SAP
Demo Time
Next Meetup Ideas
Thank You

MuleSoft 4.6 and Java 17 Support of Mulesoft

  • 1.
    Amsterdam MuleSoft Meetup Date: 21-02-2025 Unlocking Potential: SAP Connectivity with MuleSoft 4.6 and Java 17
  • 2.
    Organizers Fatih Cihat Turgut,Mulesoft Architect twitter.com/fcturgut | fatih.turgut@devoteam.com
  • 3.
    Speakers Padma Bandi • SeniorMulesoft Integration Developer • 10+ years of experience in Integrations • MuleSoft Certified Professional • MuleSoft Delivery Champion • https://medium.com/@padma.bandi Sevket Ozturk • Senior Mulesoft Integration Architect • 12+ years of experience in Integrations • MuleSoft Certified Professional • Dataweave Specialist
  • 4.
    AGENDA ● Welcome &Introduction ● Java 17 Upgrade Overview ● SAP connectors upgrade to Java 17 ● Demo ● Next Meetup Ideas
  • 5.
    MuleSoft Release Channels ●Starting with Mule 4.5, MuleSoft introduced two new channels, Edge and Long-term Support (LTS). Channel Type Release Cadense Support coverage Differentiators Edge Three time per year: • February • June • October For versions 4.5 to 4.7 • 4 months of standard support • 4 months of extended support Includes new features on a frequent release cadence with shorter maintenance coverage LTS Annual: • February For versions 4.6 and later: • 18 months of standard support • 6 months of extended support Includes new features introduced in prior Edge releases, along with new features in the February edge release with extended maintenance coverage
  • 6.
    MuleSoft Release Channels ●Following table shows the Mule runtime release cadence support
  • 7.
    Upgrading to Java17 • MuleSoft is adopting to Java’s long term-support (LTS) release, beginning with Mule Runtime 4.6 with Java 17 LTS. • The transition begins with the Mule Runtime 4.6 release, which will support Java 8, Java 11 and Java 17 LTS. • Standard support for Java 8 and 11 ends in March 2025 for Mule 4.8 Edge and August 2025 for 4.6 LTS. • This table shows the support of each Mule Runtime:
  • 8.
    Why upgrading toJava 17 with Mule 4.6 ? Boosted Performance: • Java 17 introduces performance improvements such as quicker startup times, reduced garbage collection delays, and better handling of larger applications. Strengthened Security: • Java 17 brings critical security updates and fixes. • Upgraded applications are protected with the latest defense against vulnerabilities. Assured Long-Term Support: • Java 17 is an LTS release, offering extended support for a stable and reliable foundation especially for enterprise applications with long lifecycles.
  • 9.
    Steps for Upgrade 1.Anypoint Studio Update Upgrade Anypoint Studio to 7.17 or later. 2. Maven configuration LTS and Edge channels supports 4.1.1 or above maven plugin versions. Update your pom.xml with the maven plugin version like below 3. Make sure to have maven version above 3.8 or use the embedded maven installation from window -> preferences -> Anypoint Studio -> Maven
  • 10.
  • 11.
    Steps for Upgrade 4.Update pom.xml runtime version to 4.6-java17 5. Modify mule-artifact.json to set minMuleVersion to 4.6.0(Only recommended, not mandatory) 6. Update all the respective connectors in the application to Java 17 compatible versions. https://help.salesforce.com/s/articleView?id=000782248&type=1
  • 12.
    Steps for Upgrade AnypointConnector Version Amazon DynamoDB connector 1.5.2 Amazon EC2 connector 2.5.7 Amazon RDS connector 1.3.9 Amazon RedShift connector 1.0.10 Amazon Secrets Manager Properties Provider 1.0.1 Amazon SNS connector 4.7.5 Amazon SQS connector 5.11.12 Amazon S3 connector 6.3.6 AMQP connector 1.7.7 Anypoint Custom Metrics connector 2.3.0 Anypoint MQ connector 4.0.4 Apache Kafka connector 4.7.5 APIkit 1.10.0 AS2 connector 6.7.0 Asana connector 1.0.8 Azure Cosmos DB connector 1.0.4 Java 17 compatible connectors Azure Data Lake Storage connector 1.0.4 Microsoft Azure Storage Connector 3.0.0 Azure Key Vault Properties Provider 2.0.1 Azure Service Bus connector 3.2.8 Azure Service Bus Management connector 1.0.3 Box connector 5.2.4 CloudHub connector 1.2.0 Compression module 2.2.3 Confluent Schema Registry connector 1.0.11 Cryptography module 1.3.17 Database connector 1.14.8 Data Cloud connector 1.2.0 DocuSign connector 1.0.6 Dropbox connector 1.0.8 EDIFACT EDI connector 2.9.0 Email connector 1.7.3 File connector 1.5.2 FTP connector 1.8.6 Google Calendar connector 1.2.3 Google Drive connector 1.1.3
  • 13.
    Steps for Upgrade 7.Make sure all custom connectors used in your project are supporting java 17. 8. Configure your studio build path to run on Java 17 and Mule runtime 4.6 or above. With all these steps, you are good to run your application in Java17 with 4.6 runtime. Note that all the applications are backward compatible. You can also choose Java 8 (Embedded) to run your application using Mule runtime 4.6.
  • 14.
    Java 17 MigrationConsiderations Error Handling Updates : 1. If you are using “error.errorType.asString” -> Results in an exception in Java 17. Alternatively use : error.errorType.namespace ++ ":" ++ error.errorType.identifier 2. If you are using error.muleMessage -> Results in an exception Alternatively use : error.errorMessage 3. If you are using error.errors -> change it to error.childErrors 4. If you encounter a deserializable error: “java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter” while using the database connector, then add the following dependency to resolve issue:
  • 15.
    Java 17 MigrationConsiderations Policies Updates : 1. If you are using any policies in API Manager like client-id enforcement etc.. Update the policy otherwise you will see an error : “Error occurred registering policy 'client-id-enforcement-mule” in the runtime logs. 2. To make a custom policy visible in API manager for a Mule app running on Java 17, you first need to upgrade the custom policy. Configuring the Java version of custom policy documentation
  • 16.
    After Successful Migration Aftersuccessful migration, deployed application in Cloudhub looks like below • Release channel : LTS • Run time version : 4.6.9:12 (Major: Minor: Patch : Build) • If Edge, you will notice e at the end : 4.6.9:12e • Java version : java 17
  • 17.
    Use case withSAP connector Are you connecting with SAP ? Then below are the considerations while upgrading to 4.6 Runtime and Java 17. 1. Update to the latest SAP connector version in pom.xml
  • 18.
    Use case withSAP connector 2. Update the Jco Libraries to 3.1.11 version and Idoc Library to 3.1.3 3. Make sure to have the Jco native library corresponding to Windows, Linus and Mac operating systems updated in the pom.xml to 3.1.11
  • 19.
    Use case withSAP connector 4. Make sure to update all the dependencies in the pom.xml
  • 20.
    Use case withSAP connector 5. Make sure to update all the plugins in the pom.xml
  • 21.
    Use case withSAP connector 6. Run the application and you will be able to establish the successful connection with the steps enabled before.
  • 22.
    Useful Reference Links ●Upgrading MuleSoft to Java 17: A Comprehensive Guide ● MuleSoft Java 17 Upgrade FAQ ● Mule Runtime Engine 4.6.0 Release Notes | MuleSoft Documentation ● Automating-mule-migration-4.4.0-to-4.6.0 ● https://docs.mulesoft.com/mule-runtime/latest/deploy-to-cloudhub ● https://docs.mulesoft.com/general/java-support#dataweave ● Key updates and changes to SAP
  • 23.
  • 24.
  • 25.