Skip to content

Conversation

@Aithosa
Copy link

@Aithosa Aithosa commented Jan 26, 2026

Associate with issue: #143

Main changes:

  • Upgrade the servicecomb version to 3.3.0
  • Upgrade jdk version to 17
  • Use a unified log directory in this project
  • Improve the README document by adding detailed project descriptions and build and test steps
  • Code repair to adapt current version
  • Remove 2.x unnecessary properties

Not changed:

  • java-chassis-benchmark
  • java-chassis-integration-tests

Detailed changes:

  1. basic

    • Upgrade the servicecomb and jdk version
    • Change log dir
    • Improve the README documentation
  2. basic-tomcat

    • Upgrade the servicecomb and jdk version
    • Enhanced log4j2.xml
    • Improve the README documentation
  3. bmi

    • Upgrade the servicecomb and jdk version
    • Change log dir
    • Improve the README documentation
  4. java-chassis-deployment-samples

    1. spring-boot-external-tomcat
      • Upgrade the servicecomb and jdk version
      • Improve the README documentation
    2. [Big change] war-external-tomcat
      • Upgrade the servicecomb and jdk version
      • Improve the README documentation
      • [important] Adapt the external Tomcat WAR deployment to ServiceComb 3.x: ServiceComb 3.x no longer supports the 2.x style RestServletContextListener bootstrap and instead relies on Spring Boot auto-configuration (via java-chassis-spring-boot-starter-servlet and SpringBootServletInitializer), while keeping traditional web.xml components (Servlet/Filter/JSP) to demonstrate legacy coexistence and to differentiate from spring-boot-external-tomcat
      • [important] Add/adjust dependencies and exclusions to avoid logging conflicts when running inside external containers (force SLF4J 2.x and exclude competing transitive SLF4J/logging artifacts)
  5. java-chassis-interoprability

    • Upgrade the servicecomb, spring-cloud-huawei and jdk version
    • Change log dir
    • Improve the README documentation
  6. porter

    • Upgrade the servicecomb and jdk version
    • Change log dir
    • Improve the README documentation
    • [important] Correct the spelling error of sessiondId (inconsistent naming may be compatible, but it looks strange whenever one sees it, so it should be fixed as well)
  7. ServiceComb-SpringMVC

    • Upgrade the servicecomb and jdk version
    • Code repair to adapt servicecomb and log4j2 version

java-chassis-samples changes:

  1. [Big change] apm-agent

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Fix agent bootstrap to work with servicecomb 3.x: register ApmBootListener as a Spring Bean via ApplicationContextInitializer (set by context.initializer.classes in premain) because servicecomb loads BootListener via Spring DI (@Autowired) instead of Java SPI/ServiceLoader
    • [important] Improve APM output correctness: remove duplicated timeline output in the header generator and fix missing/duplicated stages in output generators (e.g., provider-send stage), to avoid repeated or misleading metrics
  2. auth-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  3. codefirst-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
    • Follow the usage documentation to import solution-basic instead of specifically importing subpackages
  4. common-schema

    • Upgrade parent version
  5. config-apollo-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  6. [Big change] custom-handler-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version (hander -> filter)
  7. jaxrs-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  8. local-service-registry

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  9. metrics-extend-healthcheck

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  10. [Big change] metrics-write-file-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Adapt metrics export implementation for servicecomb 3.x: migrate from Spectator-based metrics to Micrometer (MeterRegistry) and keep collecting metrics via EventBus PolledEvent
    • [important] Switch extension loading from Java SPI (META-INF/services) to Spring Boot AutoConfiguration (META-INF/spring/...AutoConfiguration.imports) and add servicecomb.metrics.write-file.enabled for conditional enable/disable
    • [important] Export metrics to per-metric files using MDC-based routing (sample log4j2/logback configs) so external systems can collect metrics by reading files
  11. pojo-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
  12. springmvc-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
    • [important] Replace CseAsyncRestTemplate to aync RPC reference
  13. trust-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • Follow the usage documentation to import solution-basic instead of specifically importing subpackages
    • [important] Necessary code repair to adapt current version (handler-publickey-auth feature)
  14. use-log4j2-sample

    • Upgrade the servicecomb and jdk version
    • Improve the README documentation
    • [important] Necessary code repair to adapt current version
    • [important] Expose a REST endpoint via Spring MVC to make external calls/tests easier

- basic
- basic-tomcat
- bmi
- java-chassis-deployment-samples
- java-chassis-interoprability
- porter
- ServiceComb-SpringMVC
- apm-agent
- auth-sample
- codefirst-sample
- common-schema
- config-apollo-sample
- custom-handler-sample
- jaxrs-sample
- local-service-registry
- metrics-extend-healthcheck
- pojo-sample
- springmvc-sample
- trust-sample
- use-log4j2-sample
Added instructions and links for downloading Local-CSE as an alternative to local-service-center in both English and Chinese sections of the README.
Corrected the indentation of the 'registry' section and added a 'sc' key under 'registry' in microservice.yaml to ensure proper configuration structure.
Updated instructions in both English and Chinese sections to clarify that the file ID is a randomly generated number and only the admin account can delete files. Improved formatting for usernames, passwords, and file IDs.
- Standardized header styles and adjusted indentation for clarity.
- Updated instructions for starting services, verifying outputs, and running examples using Maven and IDE.
- Enhanced descriptions for configurations in `microservice.yaml`.
- Added missing steps and clarified verification instructions for the `auth-sample`.
- Ensured message formatting for all examples is consistent and easier to read.
- Updated `README.md` for improved formatting and clarity.
- Adjusted dependency setup in `pom.xml` for both client and server to use `solution-basic`.
- Fixed type mismatch in `LocalRegistryClient` to align with proper data handling using `Integer`.
- Replaced manual resource management with `try-with-resources` in `MySqlHealthChecker`.
- Enhanced clarity and consistency in `README.md`, including formatting updates and corrected URLs for health checks.
- Updated header styles for better consistency and readability.
- Adjusted indentation and spacing across sections.
- Enhanced clarity in service start-up instructions and verification steps.
- Updated header styles for consistency.
- Adjusted indentation and spacing for better readability.
- Clarified service start-up and verification instructions.
- Improved output format for verification examples.
- Standardized header styles and improved formatting for better readability.
- Added detailed instructions for provider, consumer, and hacker service setup.
- Introduced verification steps with expected outputs for all services.
- Clarified configuration usage in `microservice.yaml`.

Enhance README structure and clarity for trust-sample

- Standardized header styles and improved formatting for better readability.
- Added detailed instructions for provider, consumer, and hacker service setup.
- Introduced verification steps with expected outputs for all services.
- Clarified configuration usage in `microservice.yaml`.
- Introduced a new sample demonstrating the use of Log4j2 as the logging framework in Java Chassis microservices.
- Detailed setup instructions in the README, including Log4j2 configuration and verification steps.
- Added `@GetMapping` annotation for `/hello` endpoint in `HelloImpl`.
- Updated `pom.xml` to include necessary Log4j2 dependency and simplified dependency setup.
This commit refactors the custom handler sample to use filters instead of handlers for custom processing. This aligns with the latest Java Chassis 3.x architecture and provides enhanced support for asynchronous processing.
Introduces the APM Agent sample for ServiceComb, detailing its features, integration steps, output format, extension points, and references. Provides comprehensive instructions for building, running, and customizing the agent for performance monitoring in microservice applications.
Expanded the list of supported BootListener and EventBus event types in the APM agent README. Added new event types and clarified base event classes to provide more comprehensive documentation for developers integrating with the event system.
Updated timeline comments and ordering in ConsumerOutputGenerator and ProducerOutputGenerator for clarity and correctness. Removed redundant timeline output in HeaderOutputGenerator and super.generate call in EdgeOutputGenerator. Deleted the META-INF/services/org.apache.servicecomb.core.BootListener SPI registration file, indicating ApmBootListener is no longer registered as a BootListener.
Enhanced the README with detailed build and deployment instructions for running the sample in an external Tomcat. Updated pom.xml to use Java 17 and explicitly override SLF4J to version 2.0.16, ensuring compatibility and consistency.
Introduces a new sample project demonstrating how to integrate ServiceComb microservices into a traditional Java Web application deployed on external Tomcat. Adds legacy Servlet and Filter, JSP support, and updates pom.xml for Java 17, SLF4J 2.x, and ServiceComb 3.x compatibility. Updates web.xml for legacy component configuration and provides documentation in README.md.
Refactored the metrics-write-file sample to support ServiceComb 3.x and Micrometer, replacing Spectator and Java SPI with Spring Boot AutoConfiguration. Updated dependencies, removed SPI registration, added auto-configuration class, and revised CloudEyeFilePublisher for Micrometer and Spring integration. Enhanced README with detailed usage, migration notes, and troubleshooting.
Enhanced log4j2.xml for consumer, gateway, and provider modules by adding rolling file appenders for access, metrics, and slow logs. Introduced log file path properties and updated console log patterns for improved log management and organization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant