how does chronicle queue enable remote appender and tailer - chronicle

I just start to read the latest V4 documentation. It suggests for remote append and tail, it is recommended to use chronicle-engine. Does it require the enterprise support for that set of functionality ? I looked around the test packages of chronicle-engine, and found out this test class WireRemoteStatelessQueueClientTest.java seems to be relevant but is entirely commented out.

I think I should just switch to V3 implementation.

Related

ProtoBuff compatibility checker

Planning to use Protocol Buffers for event driven communication across services with Kafka at the heart of these.
I'll maintain the schemas in Github Repo. Changes to the schema would come as Pull Request. In the CI check of the pull request wanted to add a validation to check the backward compatiblity of the Schema change.
Do you know of any open solution to this problem? Or everybody is writing their own compatiblity checker :) ?
See: https://github.com/nilslice/protolock
From the README: "Protocol Buffer companion tool. Track your .proto files and prevent changes to messages and services which impact API compatibility."
I discovered the tool as a result of your interesting question. I'd not realized that I would also benefit from this too!
Another, also referenced by Uber's Prototool is Buf
Tried out buf it is a really nice tooling for using ProtoBuf.
Enforces API standards with it's lint feature
buf lint
Maintains compatibility with it's breaking feature
buf breaking --against ./.git#branch=master
Generates code for you without any headache with its generate feature. You just need to create a buf.gen.yaml
buf generate
Please refer this for more details https://docs.buf.build/tour/generate-code

Convert Resuable ErrorHandling flow in to connector/component in Mule4

I'm Using Mule 4.2.2 Runtime. We use the errorHandling generated by APIKIT and we customized it according to customer requirement's, which is quite standard across all the upcoming api's.
Thinking to convert this as a connector so that it will appear as component/connector in palette to reuse across all the api's instead copy paste everytime.
Like RestConnect for API specification which will automatically convert in to connector as soon as published in Exchange ( https://help.mulesoft.com/s/article/How-to-generate-a-connector-for-a-REST-API-for-Mule-3-x-and-4-x).
Do we have any option like above publishing mule common flow which will convert to component/connector?
If not, which one is the best way suits in my scenario
1) using SDK
https://dzone.com/articles/mulesoft-custom-connector-using-mule-sdk-for-mule (or)
2) creating jar as mentioned in this page
[https://www.linkedin.com/pulse/flow-reusability-mule-4-nagaraju-kshathriya][2]
Please suggest which one is best and easy way in this case? Thanks in advance.
Using the Mule SDK (1) is useful to create a connector or module in Java. Your questions wasn't fully clear about what do want to encapsulate in a connector. I understand that you want is to share parts of a flow as a connector in the palette, which is different. The XML SDK seems to be more inline with that. You will need to make some changes to encapsulate the flow elements, as described in the documentation. That's actually very similar to how REST connect works.
The method described in (2) is for importing XML flows from a JAR file, but the method described by that link is actually incorrect for Mule 4. The right way to implement sharing flows through a library is the one described at https://help.mulesoft.com/s/article/How-to-add-a-call-to-an-external-flow-in-Mule-4. Note that this method doesn't create a connector that can be used from Anypoint Studio palette.
From personal experience - use common flow, put it to repository and include it as dependency to pom file. Even better solution - include is as flow to the Domain app and use it alone with your shared https connector.
I wrote a lot of Java based custom components. I liked them a lot and was proud of them. But transition from Mule3 to Mule4 killed most of them. Even in Mule4 Mulesoft makes changes periodically which make components incompatible with runtime.

Java server with concurrent chunking enabled

I have been playing around with the Java server example:
https://github.com/FineUploader/server-examples/tree/master/java
Its working great with chunking enabled, however I don't believe it supports chunking with the concurrent:enabled feature turned on in the JS client. Is this feature working in the Java server? Is there any plans to get this to work? Additionally, if not, any quick tips as to where to add this feature into the example code? I would be happy to implement this if needed..
Cheers!
J
Is this feature working in the Java server?
Yes, this is fully functional with any server. The Java example in the server-examples GitHub repository does not have code to handle this for traditional endpoints, but concurrent chunking will work fine without any code changes when uploading to S3 or Azure.
Is there any plans to get this to work?
No plans at the moment to update the traditional endpoint Java server example.
any quick tips as to where to add this feature into the example code?
You can follow the implementation in the Node.js example, along with the concurrent chunking documentation.

What gem should I use to work with AWS

I'm currently writing an application in ruby on rails that uses AWS. I see two options for gems, aws-sdk and fog. Fog seems to support almost all of the AWS services except for sns(which I wanted to use :/) and has mock services for testing not to mention you can change out for rackspace or a different provider rather easily. Is there any big reason why I should use AWS's sdk? It supports sns, but not rds and does not come with mocking.
If I'm missing something please let me know as I am new to this.
Thanks in advance.
You may also want to checkout rightaws though unfortunately it doesn't have support for sns either. It was one of the first libraries available and provides support for most of the functionalities. However, fog is releasing new versions more often and is catching up quickly and is a bit more high level. The aws_sdk was only released recently and the main reason to go with it is that it comes from Amazon itself and will likely become the standard. This is why we included it in rubystack. We expect that people will provide higher level libraries that will build on top of it.
aws-sdk supports SNS but does not mock the services. It does hoever provide basic stubbing:
AWS.stub!
This causes all service requests to "do nothing" and return "empty responses". It is used extensively inside the specs provided with the gem. This is is not the same as mocking a service but it can be a useful testing aid.

Is there an API for listing queues and exchanges on RabbitMQ?

I've looked quite a bit, but I haven't been able to find a good programmatic way to list the queues on a RabbitMQ server.
This is important because I need to clean up my queues and exchanges when I'm done with them. I don't always have a good "done" event that can be used to trigger a cleanup, so I'd like to do it with more of a garbage collection model. If I can list the queues, I can verify that the objects that they're related to shouldn't be producing more entries and clean them up.
I know I can use rabbitmqctl to do it, but that needs elevated privileges.
Since I haven't been able to find a way to list the queues programmatically, I've been keeping a list of names in the database. That works, but it's ugly.
You could use Alice - http://github.com/auser/alice. It is a REST interface to execute rabbitmqctl commands
2012 update
The RabbitMQ development has probably made the question and other answers out-of-date. Management Plugin that provides REST API is now a part of RabbitMQ. The plugin might be disabled by default, thought.
If what you need is to auto delete the exchange and the queues when you are done, then you can accomplish that based on the options that you use for exchange_declare and queue_declare.
Coming back to your question of listing queues and exchanges, you can use a tool like this one: http://github.com/tnc/rac
With a little tweaking you can write a PHP script to get what you need. Just check under the lib folder of that project.

Resources