Giter Site home page Giter Site logo

zuul-spring-client's People

Contributors

mcantrell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zuul-spring-client's Issues

Zuul host specification simplification in zuul:properties tag

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.

Enhancement request for the zuul:file-store

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" / >

handling for deleted enironments

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.

Unable to use environment variable to configure port number

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.