Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

2,488 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Java Chassis

中文Build StatusCoverage StatusMaven CentralLicenseGitter

Apache ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Why use Java Chassis

  • High performance

    The transport capability of Java Chassis is based on Vert.x, which enables Java Chassis to process massive requests with relatively less hardware resources, and support reactive develop style.

  • Native support for OpenAPI

    Java Chassis describes the APIs of the microservices via Swagger natively, to help developers to design microservices that comply to OpenAPI standard.

  • Flexible develop style

    Currently Java Chassis allow developers to develop their microservice APIs in SpringMVC/JAX-RS/transparent RPC styles, and to send the request in RPC/RestTemplate styles. And there are three kind of build-in transport mode: Rest over Vertx/Rest over Servlet/Highway. All of these features can be combined and replaced easily, because they are decoupled and all based on the Swagger schema, which can provide high flexibility.

  • Out-of-box microservice governance features

    Java Chassis provides a lot of features for microservice governance and monitor.

  • Multi languages support

    Via ServiceComb Mesher, the microservices built by other languages are also able to work with ServiceComb components. And Java Chassis can communicate with such microservices and make use of the built-in capabilities.

Quick Start

Provider service:

importorg.apache.servicecomb.*;
@RpcSchema(schemaId = "helloworld")
publicclassHelloWorldProviderimplementsHelloWorld {
publicStringsayHello(Stringname) {
return"Hello " + name;
}
}

Consumer service:

importorg.apache.servicecomb.*;
@ComponentpublicclassHelloWorldConsumer {
@RpcReference(microserviceName = "pojo", schemaId = "helloworld")
privatestaticHelloWorldhelloWorld;
publicstaticvoidmain(String[] args) {
helloWorld.sayHello("Tank");
}
}

Documentation

Project documentation is available on the ServiceComb website.

Building

You don’t need to build from source to use Java Chassis (binaries in apache nexus ), but if you want to try out the latest and greatest, Java Chassis can be easily built with the maven. You also need JDK 1.8.

 mvn clean install

If you want to build the release kits from the source

 mvn clean install -Prelease,distribution

The first build may take a longer than expected as Maven downloads all the dependencies.

Automated Testing

To build the docker image and run the integration tests with docker, you can use maven docker profile

 mvn clean install -Pdocker -Pit

If you are using docker machine, please use the following command

 mvn clean install -Pdocker -Pit -Pdocker-machine

Get The Latest Release

Download Java-Chassis

Get The Latest SNAPSHOT

We publish the snapshot version to Apache nexus repo, please add below repositories into your pom.xml.

 <repositories>
<repository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>repo.apache.snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
</pluginRepositories>

Contact

Bugs: issues

mailing list: subscribedev

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

License

Licensed under an Apache 2.0 license.

Export Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The Apache Software Foundation has classified this software as Export Commodity Control Number (ECCN) 5D002, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the "publicly available" Section 742.15(b) exemption (see the BIS Export Administration Regulations, Section 742.15(b)) for both object code and source code.

The following provides more details on the included cryptographic software:

  • Vertx transport can be configured for secure communications

About

ServiceComb Java Chassis is a Software Development Kit (SDK) for rapid development of microservices in Java, providing service registration, service discovery, dynamic routing, and service management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages