尝试将Spring Boot项目中定义的属性注入application.properties/application.yml到logback.groovy脚本中.
我不能注入Environment或ApplicationContext进入groovy脚本.
有没有解决方法?
我不是在寻找像这样的解决方案System.getProperty('spring.profiles.active')
SRC /主/资源/ logback.groovy
import org.springframework.core.env.Environment
@Inject private Environment env; //this is not working. how to get env here?
println "spring.profiles.active : ${env.getProperty('spring.profiles.active')}"
appender("STDOUT", ConsoleAppender) {
encoder(PatternLayoutEncoder) {
pattern = "%green(%d{HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %cyan(%logger{36}) - %msg%n"
}
}
if(System.getProperty("spring.profiles.active")?.equalsIgnoreCase("prod")) {
root INFO, ["STDOUT", "FILE"]
} else {
root INFO, ["STDOUT"]
}
Run Code Online (Sandbox Code Playgroud)
SRC /主/资源/ application.yml
---
spring:
profiles:
active: development
Run Code Online (Sandbox Code Playgroud) 我必须编写一个javaScript函数,将一些数据返回给调用者.
在该函数中,我有多种方法来检索数据,即
每个选项可能需要自己的时间来完成,它可能会成功或失败.
我想要做的是,异步/并行地执行所有这三个选项,并返回先返回的结果.
我理解JavaScript中不可能并行执行,因为它是单线程的,但我想至少异步执行它们并取消其他任务,如果其中一个返回成功结果.
我还有一个问题.
提前返回并继续执行JavaScript函数中的剩余任务.
伪代码示例:
function getOrder(id) {
var order;
// early return if the order is found in cache.
if (order = cache.get(id)) return order;
// continue to get the order from the backend REST API.
order = cache.put(backend.get(id));
return order;
}
Run Code Online (Sandbox Code Playgroud)
请建议如何在JavaScript中实现这些要求.
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Promise.race(迭代器)
返回在iterable中的第一个promise解析时解析的promise.
var p1 = new Promise(function(resolve, reject) { setTimeout(resolve, 500, "one"); });
var p2 = new Promise(function(resolve, reject) { setTimeout(resolve, …Run Code Online (Sandbox Code Playgroud) 我正在寻找最佳实践/解决方案,以使“响应”方法在生成的 json 中生成额外的元数据以及从 DB 获取的实体集合。
基本上,我想在使用 angularJS 和 Restangular 插件构建的前端单页应用程序 (SPA) 中使用该元数据实现分页。
PS:angularJS 的 $resource 或 Restangular 期望收集结果为 JS 数组。
标准 GrailsJsonCollectionRenderer/JsonRenderer忽略提供给 map 参数中“响应”的元数据。
我碰到下面这是实现自定义JsonRenderer文章,但我在寻找通过的调整自定义简单/灵活的解决方案,以“回应”输出的元数据JsonCollectionRenderer中resources.groovy
http://groovyc.net/non-trivial-restful-apis-in-grails-part-2/
我的 RestfulController:
@Secured(value=["hasRole('ROLE_USER')"])
class DrugController extends RestfulController<Drug> {
static scaffold = true
static responseFormats = ['html', 'json', 'xml', 'hal']
static allowedMethods = [show: "GET"]
DrugController() {
super(Drug, true)
}
@Override
def index(Integer max) {
params.max = Math.min(max ?: 10, 100)
// We pass which fields to be rendered with …Run Code Online (Sandbox Code Playgroud) groovy ×2
angularjs ×1
grails ×1
java ×1
javascript ×1
json ×1
logback ×1
metadata ×1
pagination ×1
promise ×1
rest ×1
spring ×1
spring-boot ×1