小编Usm*_*ail的帖子

是否可以在不消耗流的情况下读取HttpRequest参数?

我期待在sitebricks的HiddenMethodFilter实施这里:

在第65行,有以下代码:

try {
    String methodName = httpRequest.getParameter(this.hiddenFieldName);
    if ("POST".equalsIgnoreCase(httpRequest.getMethod()) && !Strings.empty(methodName)) {
    ....
Run Code Online (Sandbox Code Playgroud)

它检查是否设置了特定参数并使用它来包装请求.但是,在读取该参数时,它将使用流,并且最终的servlet将无法读取任何数据.

什么是避免这种情况的最佳方法?我在这里实现了HttpServletRequestWrapper ,它将流的内容读入字节数组.但是,这可能会使用大量内存来存储请求.

private HttpServletRequestWrapper getWrappedRequest(HttpServletRequest httpRequest, final byte[] reqBytes)
   throws IOException {

final ByteArrayInputStream byteInput = new ByteArrayInputStream(reqBytes);
return new HttpServletRequestWrapper(httpRequest) {

  @Override
  public ServletInputStream getInputStream() throws IOException {
    ServletInputStream sis = new ServletInputStream() {

      @Override
      public int read() throws IOException {
        return byteInput.read();
      }
    };
    return sis;
  }
};
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?我们可以在不消耗流的情况下读取参数吗?(有些东西类似于peek)我们可以重置流吗?

java servlets servlet-filters

5
推荐指数
1
解决办法
2855
查看次数

有没有办法在作曲家中显示时按范围忽略值?

Graphite URL API中是否有一个函数允许我们忽略某个范围内(或外)的值?

graphite

5
推荐指数
1
解决办法
2236
查看次数

如何在Java中进行反向DNS查找?

我可以看到有一个使用nslookup反向查找给定IP地址的条目.

nslookup 54.193.201.195
Server:     172.16.0.23
Address:    172.16.0.23#53

Non-authoritative answer:
195.201.193.54.in-addr.arpa name = ec2-54-193-201-195.us-west-1.compute.amazonaws.com.
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用几个堆栈溢出答案中列出的方法在Java中执行相同操作时,我不断获得与规范主机名相同的输入IP.

//Always prints the IP address I input
addr = InetAddress.getByName("54.193.201.195");
log.debug("Host Name: {}", addr.getCanonicalHostName());
Run Code Online (Sandbox Code Playgroud)

如何取回主机名条目而不是我开始使用的相同IP?

java dns

5
推荐指数
0
解决办法
1645
查看次数

如何使用docker设置哨兵

我在dockerhub 找到了官方的哨兵图像.但是文档不完整,我无法一步一步地设置环境.

我们必须首先设置数据库容器,但它们都没有告诉我们如何设置它.具体来说,我不知道哨兵将使用的用户名和密码是什么.

当我运行sentry容器时,我也收到以下错误:

sudo docker run --name some-sentry --link some-mysql:mysql -d sentry
e888fcf2976a9ce90f80b28bb4c822c07f7e0235e3980e2a33ea7ddeb0ff18ce

sudo docker logs some-sentry
Traceback (most recent call last):
  File "/usr/local/bin/sentry", line 9, in <module>
    load_entry_point('sentry==6.4.4', 'console_scripts', 'sentry')()
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/runner.py", line 310, in main
    initializer=initialize_app,
  File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 167, in run_app
    configure_app(config_path=config_path, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 89, in configure_app
    raise ValueError("Configuration file does not exist at %r" % (config_path,))
ValueError: Configuration file does not exist at '/.sentry/sentry.conf.py'
Run Code Online (Sandbox Code Playgroud)

sentry docker

5
推荐指数
2
解决办法
6817
查看次数

Mesos,Marathon,云和10个数据中心 - 如何相互交流?

我一直在研究Mesos,Marathon和Chronos组合来托管大量网站.在我的脑海中,我应该可以在我的笔记本电脑中键入一些命令,并等待大约30分钟来构建和部署.

我唯一的问题是,我的资源分散在多个数据中心,众多云帐户和大约6个内部场所.我没有理由不能通过我的笔记本电脑控制它们 - (当涉及到我的硬件时,我有严重的电源和控制问题!)

我认为我最好的方法是在云中建立大脑,(动物园饲养员和至少一个主人),然后添加单独的数据中心,但我还没有看到任何分布式集群的例子,其中并非所有节点都可以相互通信.

任何人都可以推荐一种方法吗?

amazon-web-services marathon docker mesos fig

5
推荐指数
1
解决办法
640
查看次数

Jgitflow 插件不创建 git 标签

我有以下 jgitflow 插件并使用 Jenkins 执行自动发布。使用命令mvn --batch-mode jgitflow:release-start jgitflow:release-finish。然而,一切正常,我从未在 github 中看到任何标签。根据文档,除非使用 notags,否则我的所有版本都应该创建标签。知道出了什么问题吗?

<plugin>
    <groupId>external.atlassian.jgitflow</groupId>
    <artifactId>jgitflow-maven-plugin</artifactId>
    <version>1.0-m4.3</version>
    <configuration>
        <flowInitContext>
            <masterBranchName>release</masterBranchName>
            <developBranchName>master</developBranchName>
            <releaseBranchPrefix>release-</releaseBranchPrefix>
            <versionTagPrefix>release-</versionTagPrefix>
        </flowInitContext>
        <noReleaseMerge>true</noReleaseMerge>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

分别使用 release-start 和 finish 也没有帮助。见下文:

mvn --batch-mode  jgitflow:release-start -Dmaven.javadoc.skip=true -DskipTests
git push --tags
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

maven jenkins jgitflow-maven-plugin

5
推荐指数
1
解决办法
1894
查看次数

你应该在何处将应用程序属性放在rebar erlang应用程序中?

一个新手问题:我写了第一个基于钢筋的erlang应用程序.我想配置一些基本的特性,如服务器主机等.放置它们的最佳位置在哪里,我应该如何将它们加载到应用程序中?

erlang erlang-otp rebar

4
推荐指数
1
解决办法
1362
查看次数

一起遍历两棵树?

我正在寻找很多面试问题,其中的问题需要一起遍历两棵树,我不确定到底如何去做。

例如

给定两个二叉树的根,如何判断叶子元素的顺序是否相等,但当第一个节点违反规则时必须实现短路返回。

algorithm

4
推荐指数
1
解决办法
2922
查看次数

默认的 collectd pluggindir 在哪里?

默认情况下,Collectd 将其插件存储在哪里?我缺少一个 perl 插件,我想确保它不是因为安装被灌输。

collectd

4
推荐指数
1
解决办法
2415
查看次数

是否可以自动化Gsutil登录?

是否可以自动将基于gsutil的文件上传到谷歌云存储,以便登录时不需要用户干预?

我的用例是有一个jenkins作业,它会轮询SCM位置以更改一组文件.如果它检测到任何更改,则会将所有文件上传到特定的Google云端存储分区.

google-cloud-storage

4
推荐指数
1
解决办法
2363
查看次数