Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 25 22:13
    codecov-io commented #842
  • Nov 25 20:16
    jiachen1120 synchronize #842
  • Nov 25 20:16

    jiachen1120 on #839_error_status_missing_in_auditInfo

    - #839 revert unnecessary chang… (compare)

  • Nov 25 20:14
    jiachen1120 review_requested #842
  • Nov 25 20:14
    jiachen1120 review_requested #842
  • Nov 25 20:14
    jiachen1120 opened #842
  • Nov 25 20:12

    jiachen1120 on #839_error_status_missing_in_auditInfo

    - fixed #839 Error status resul… (compare)

  • Nov 25 20:07
    miklish commented #840
  • Nov 25 18:07

    stevehu on master

    upgrade to version 2.0.22-SNAPS… (compare)

  • Nov 25 17:22

    stevehu on 2.0.21

    (compare)

  • Nov 25 15:51

    stevehu on master

    light-bot checkin CHANGELOG.md (compare)

  • Nov 25 15:33

    stevehu on master

    light-bot checkin CHANGELOG.md (compare)

  • Nov 25 14:25
    jiachen1120 commented #840
  • Nov 25 14:20
    stevehu commented #841
  • Nov 25 14:20

    stevehu on master

    upgrade to version 2.0.21 befor… (compare)

  • Nov 25 14:19
    jiachen1120 commented #839
  • Nov 25 14:16
    jiachen1120 commented #841
  • Nov 24 22:43
    stevehu commented #841
  • Nov 24 22:06
    stevehu commented #840
  • Nov 24 22:01
    stevehu commented #839
Steve Hu
@stevehu
@gpbee The light-eventuate-4j, light-tram-4j and light-saga-4j are all decommissioned due to the dependencies and complexity. It is replaced by light-kafka which is a commercial module for Event Sourcing and CQRS based on Kafka Streams. The new light-portal is built on top of this platform.
Steve Hu
@stevehu

We have released 1.6.27 for jdk8 and 2.0.17 for jdk11 as scheduled. Both releases are backward compatible with some defects addressed, and some enhancements added.

For more all the PRs included in each release, please visit https://trello.com/b/189msq9S/release-schedule or individual release note.

went-li
@went-li
给一个JDK1.8的事例地址嘛 还有ruter的
Steve Hu
@stevehu
@went-li Although there are still some customers using JDK8, we internally all upgraded to JDK 11 with 2.0.x release. I don't have any running instance with JDK 8 at the moment. However, all modules support JDK 8 including light-router and the configurations for JDK 11 are the same. If you encounter any issue, let us know.
Steve Hu
@stevehu
@gpbee I have release light-kafka as an open-source project under networknt and updated the light-codegen to generate all dependencies.
went-li
@went-li
enableHotspot。在那个配置文件里呀!没找到呢!
Steve Hu
@stevehu
prometheus.yml to collect JVM metrics info.
yunusual
@yunusual
hello. I have a question about config parameter injection and type casting. I'm injecting the current Git commit hash to my application with the use of an environment variable. example environment variable: GIT_HASH=2312e58. when this gets injected into a parameter in my config.yml file like gitHash: ${GIT_HASH:NOT_DEFINED}, the typecasting converts it into a double. probably, this is assumed as a decimal number in scientific notation (i.e. 2.312E61). same applies if my githash is for example 4836297; it will be cast into an Integer. is there a possibility to disable type casting for a certain variable and always parse it as a String? or any other workaround you could suggest to prevent this? thanks in advance!
Steve Hu
@stevehu
@yunusual This is an interesting issue. We try to cast the injection to boolean first and then an integer or a double value. If none is successful, then treat it as a string. In a yaml config file, there is no type info and we have to do our best to convert the values. I think we can support an optional type parameter in the pattern for injections. Could you please open an issue in light-4j?
yunusual
@yunusual
thanks @stevehu . I'll create an issue for it. for the time being, I'm planning to apply the following workaround: to add a certain prefix to the environment variable, e.g. GIT_HASH=HASH_2312e58 so that it's always evaluated as a String. I will strip off the HASH_ prefix later in the application when it's accessed.
Steve Hu
@stevehu
Yes. That is a workable solution. However, let's evaluate if we can add a data type field into the formation.
This is the method that is doing the casting. Let me know if you have other ideas. https://github.com/networknt/light-4j/blob/master/config/src/main/java/com/networknt/config/ConfigInjection.java#L203
Steve Hu
@stevehu
I remember someone in this channel asked how to use environment tag in the DirectRegistry and we just added this feature in both 1.6.x and 2.0.x. Here is the document link https://doc.networknt.com/concern/registry/
Steve Hu
@stevehu
We have released 1.6.28 for jdk8 and 2.0.18 for jdk11 as scheduled. Both releases are backward compatible with some defects addressed, and some enhancements added.
For more all the PRs included in each release, please visit https://trello.com/b/189msq9S/release-schedule or individual release note.
iaksentijevic
@iaksentijevic
Hi, is there any simple code how to start undertow (from code) that will automatically pickup all yaml config files ?
Steve Hu
@stevehu
There are a lot of users doing that today. What you need to do is to call the init() in the Server class. Take a look at the test cases and see how the server is started.
Don't call start() as it only a part of the init()
iaksentijevic
@iaksentijevic
thanks, works
Steve Hu
@stevehu
Cool. Thanks for the confirmation.
Steve Hu
@stevehu
We have released 1.6.29 for jdk8 and 2.0.19 for jdk11 as scheduled. Both releases are backward compatible with some defects addressed, and some enhancements added.
For more all the PRs included in each release, please visit https://trello.com/b/189msq9S/release-schedule or individual release note.
Steve Hu
@stevehu
created a new tutorial to add status error runbook to the light-portal. The light-portal service is not opened sourced but I am leaving the door open to open source the marketplace if there are demands. https://doc.networknt.com/tutorial/portal/market-place/add-feature/
Steve Hu
@stevehu
We have released 2.0.20 for jdk11 for a customer. The release is backward compatible with some enhancements.
For more all the PRs included in each release, please visit https://trello.com/b/189msq9S/release-schedule or individual release note.
Sahaay Platform In Progress, more coming...
@Ekshunya-India
Hello, I am building my application on top of light-rest-4j. I am using the light4j-oAuth. My requirement is that i need the logged in user-id in one of the generated handler. How can i get this information in the generated handler? Any help is much appreciated. Thanks.
Steve Hu
@stevehu
In order to get the userId, the original caller must go through the Authorization code flow to get the JWT token. The userId is part of the JWT and the JwtVerifier will verify and decode it. After that, it will put it into the AuditInfo object and attached it to the exchange. You business handler can just get it from the exchange attachment.
I might have some time on Friday night and I can write a tutorial for it if you still have questions.
Sahaay Platform In Progress, more coming...
@Ekshunya-India
Nice. I will get it from the AuditInfo object from the exchange. Thanks for the quick reply.
Sahaay Platform In Progress, more coming...
@Ekshunya-India
Yes the example was helpful. Thanks.
Steve Hu
@stevehu
Tonight, I finally got some free cycles to complete the HTTPS/2 client benchmark project. Take a look at the result in this video https://www.youtube.com/watch?v=W3i-kmA9Njo
Also, the README.md has some data as well https://github.com/networknt/http2client-benchmark
iaksentijevic
@iaksentijevic
Why we see lot of errors related to values.yml when file does not exist: [main] INFO com.networknt.config.Config - Trying to load config from classpath directory for file values.yml
[main] INFO com.networknt.config.Config - Unable to load config values.yml. Looking for the same file name with extension yaml...
Also how to have server config folder moved in another module, not same as java handlers are defined ?
Use property "light-4j-config-dir" ?
Steve Hu
@stevehu
If you regenerate the project from the latest light-codegen, a values.yml will be generated in the config folder. This is the file that would be externalized with properties for all config files that are templated.
We have generated config files in template these days so that values can be overwriten by the values.yml as needed.
iaksentijevic
@iaksentijevic
Ok, thanks, will try new version
iaksentijevic
@iaksentijevic
I'm still have issue with starting undertow server from another module, getting exception Caused by: java.lang.AbstractMethodError: Receiver class org.xnio.nio.NioXnio does not define or inherit an implementation of the resolved method abstract createWorker(Ljava/lang/ThreadGroup;Lorg/xnio/OptionMap;Ljava/lang/Runnable;)Lorg/xnio/XnioWorker; of abstract class org.xnio.Xnio.
However no issue starting from module build by codegen ... Is there any documentation or example how to that ?
Steve Hu
@stevehu
@iaksentijevic I never encountered this error and I guess it is missing some steps in your project. The best way is to compare your project with a generated project and see if there are any differences. If you have an openapi.yaml spec. use it to generate a project is much easier. You can also compare with our examples in light-example-4j repo which contains hundreds of services.
Steve Hu
@stevehu
I have published a new tutorial on how to enable metrics on the light-proxy server. https://doc.networknt.com/tutorial/proxy/proxy-metrics/
iaksentijevic
@iaksentijevic
It is related to different version 3.3.0.Final VS 3.8.0.Final: [main] INFO com.networknt.config.Config - Config loaded from default folder for secret.yml
[main] INFO org.xnio - XNIO version 3.3.0.Final
[main] INFO org.xnio.nio - XNIO NIO Implementation Version 3.8.0.Final
Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.xnio.nio.NioXnio does not define or inherit an implementation of the resolved method abstract createWorker(Ljava/lang/ThreadGroup;Lorg/xnio/OptionMap;Ljava/lang/Runnable;)Lorg/xnio/XnioWorker; of abstract class org.xnio.Xnio.
Steve Hu
@stevehu
XNIO is a dependency of undertow and I guess you are using a different version of the undertow core.
iaksentijevic
@iaksentijevic
It works, was jar version and my IDEA not reloading pom changes issue, so different jar version was mixed - thanks
PeterKieu
@PeterKieu
Hi @stevehu, do you have any use-case or partner using Light-4j eco to work as core banking services?
PeterKieu
@PeterKieu
my concern here is not light-4j performance, but it is complex-sql transactions on banking, plus slow ORM eninges like Hibernate may slow down Light-4j services
Steve Hu
@stevehu
@PeterKieu CIBC (Canadian Imperial Bank of Commerce) is using it for core banking applications. They are using microservices so there is no ORM involved. If each service only dealing with 2 to 5 tables, there is no need to use ORM engine and direct SQL query is much faster. For our light-portal implementation, we are using Kafka streams for event sourcing and K/V local storage for projections. It is much better architecture then RDBMS which is the bottleneck in real microservices architeucre. Synching the data between services is a nightmare.
Steve Hu
@stevehu
We have released 2.0.21 for jdk11 a little bit earlier in sync with one of our customers' production release. It is backward compatible with some defects addressed, and some enhancements added.
For more all the PRs included in each release, please visit https://trello.com/b/189msq9S/release-schedule or individual release note.
PeterKieu
@PeterKieu
ok thanks much @stevehu