confluex / zuul-spring-client Goto Github PK
View Code? Open in Web Editor NEWSpring framework client for Zuul integration
License: Apache License 2.0
Spring framework client for Zuul integration
License: Apache License 2.0
The specification of the zuul:properties requires the specification of the server location across multiple fields, host, port, context, ssl, those fields which are non String fields cannot be dynamically replaced as the xsd does not allow things such as #{environment['zuul.ssl']}
for the ssl flag. It would be better if all of the url fields are combined into one such as server
attribute where the zuul:properties
could be something like:
<zuul:properties id="zuulProps" server="https://zuul.example.com:8090/zuul" config="config1" environment="qa">
</zuul:properties
This would allow more control over the server location at runtime than we currently have with the current tag.
I would like to suggest an enhancement to the file-store tag. When I develop my application and Zuul is not installed yet, I would not be able to run my app, because locally cached copy of properties does not exist yet, so I would get an exception, e.g.:
java.io.FileNotFoundException: Unable to find locally cached copy: /var/folders/76/ydcjq_y563558mhs_6k4wvmc0000gn/T/null-MuleDemo.properties
It would be nice to have an option for the file-store to load properties from a local file, e.g.
< zuul:file-store location="/tmp" loadIfNotFound="classpath:my.dev.properties"/ >
or, alternatively, file-store should not throw exception if local copy is not found and simply log a warning. Then I'll be able to specify an alternative location in property-placeholder, e.g:
< context:property-placeholder properties-ref="ZuulProperties" location="classpath:local.properties" ignore-resource-not-found="true" / >
We configured the “local” and “default” environments in Zuul initially, property files were created on my laptop. Later those environments were deleted in Zuul admin (as we decided that it would be best to manage them in project properties), however we found that the properties were being returned from Zuul for those environments.
After I deleted the locally cached Zuul file, I got the following error when I run the application while I’m not connected to the Zuul server:
Unable to fetch remote properties file from: org.apache.http.client.methods.HttpGet@15165aea, error:Connection to http://crlnxt036.us.aegon.com:8080 refused. Attempting to find cached copy..
Disposing RegistryBroker
null
java.io.FileNotFoundException: Unable to find locally cached copy: C:\Users\trafacz\AppData\Local\Temp\default-ISB-ContractInquiry.properties
I got a similar error when I’m connected to the Zuul server:
Unable to fetch remote properties file from: org.apache.http.client.methods.HttpGet@7d6dcf80, error:Internal Server Error. Attempting to find cached copy..
Disposing RegistryBroker
null
java.io.FileNotFoundException: Unable to find locally cached copy: C:\Users\trafacz\AppData\Local\Temp\default-ISB-ContractInquiry.properties
I’m not sure what is the best way to handle this use case in Zuul, however the workaround for now is to recreate those environments and add at least one property for each application. I added one that’s not used and that allowed me to get passed this error.
We are trying to use an environment variable to configure the port number for the spring client in mule. When using #{envrionment['zuul.port']} or #{(T(java.lang.Integer).parseInt(environment['zuul.port']))} we recieve a SAXParseException of '#{environment['zuul.port']} is not a valid value for 'integer'. Mule has a substitutablePortNumber type they use for this type of issue, may be able to do something similar to solve the issue.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.