我正在使用ES6类,而我的类(A)扩展了类B,类B扩展了类C。A如何扩展一个方法,然后调用该方法的C版本。
class C {
constructor() {
console.log('class c');
}
}
class B extends C {
constructor() {
super()
console.log('no, I don't want this constructor.');
}
}
class A extends B {
constructor() {
// What should I be doing here? I want to call C's constructor.
super.super();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢,我将停止尝试做这个愚蠢的事情。在我的情况下,代码重用的次要收获不值得杂技。
我正在使用nginx将请求缓存到我的uwsgi后端
uwsgi_cache_path /var/cache/nginx/uwsgi keys_zone=cache:15M max_size=5G;
Run Code Online (Sandbox Code Playgroud)
我的后端设置了一个非常长的过期标题(1年+).但是,当我的系统运行时,我看到缓存在15M时达到顶峰.它达到了那个水平,然后降低到10M.
这会导致很多不必要的呼叫到我的后端.当我更改keys_zone大小时,它似乎控制整个缓存的大小.它似乎忽略了max_size,而是替换了keys_zone大小.(*)
谁能解释这种行为?这个版本中是否存在已知错误?我错过了这一点吗?我不想将5G分配给缓存管理器..
# nginx -V
nginx version: nginx/1.2.0
built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
TLS SNI support enabled
configure arguments: --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --user=www-data --group=www-data --with-http_ssl_module --with-http_stub_status_module
Run Code Online (Sandbox Code Playgroud)
(*)更新:我想这是我试图在混乱中寻找模式的过度活跃的想象力.
我已经为Elasticsearch创建了一个插件并已成功安装(http:// localhost:9200/_nodes/plugins /显示它已安装.)但我似乎无法在我的查询中使用它 - 我只会收到错误."ScriptException [[groovy]动态脚本禁用]".好像我需要一个不同的lang设置.但我试过'lang':'java'.没有快乐.我试过郎:表达.然后我得到"ExpressionScriptCompilationException [表达式中的未知变量[maxmind]".如何访问我创建的插件?或者我是否需要做更多的事情来注册它?
我一直在关注这个优秀的指南:https: //github.com/imotov/elasticsearch-native-script-example
但它没有说明应该如何编写查询.
我的AbstractPlugin:
package org.elasticsearch.plugin.maxmind;
import java.util.Collection;
import org.elasticsearch.common.collect.Lists;
import org.elasticsearch.common.inject.Module;
import org.elasticsearch.plugins.AbstractPlugin;
import org.elasticsearch.script.ScriptModule;
import org.elasticsearch.plugin.maxmind.GeoLoc;
public class MaxMind extends AbstractPlugin {
@Override public String name() {
return "maxmind";
}
@Override public String description() {
return "Plugin to annotate ip addresses with maxmind geo data";
}
// Thanks https://github.com/imotov/elasticsearch-native-script-example
public void onModule(ScriptModule module) {
module.registerScript("geoloc", GeoLoc.Factory.class);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意名称"geoloc".这是我在查询中使用的名称吗?
我的GeoLoc模块:
package org.elasticsearch.plugin.maxmind;
import java.util.HashMap;
import java.util.Map;
import …Run Code Online (Sandbox Code Playgroud)