小编Mar*_*ged的帖子

如何将图像包含到javadoc中并引用它们

我检查了javadoc手册 并在stackoverflow上阅读了一些帖子(例如在javadocs中包含图片)但是无法获得满意的结果

我想在我的javadoc中提供一个应该与创建的html打包在一起的图像.以下是我采取的步骤:

  • doc-files下面创建一个目录src/main/java(这是STS中的gradle项目)
  • 将名为的文件classhierarchy.png放入新创建的目录中
  • 添加<img src="doc-files/classhierarchy.png">到我的类的javadocde.company.some.more.levels.MyClass
  • 创建javadoc

我可以看到png文件被复制到C:\ temp\NameOfProject\doc\doc-files但是它无法显示,因为img-link是相对于包的:c:/ temp/NameOfProject/doc/de /company/some/more/levels/doc-files/classhierarchy.png

我知道我可以通过在路径前面添加许多/../../来解决这个问题,但如果包深度发生变化,我将不得不调整它:

<img src="../../../../../../doc-files/classhierarchy.png">
Run Code Online (Sandbox Code Playgroud)

我不喜欢的第二件事是目录doc文件与我的源代码在同一路径中.

如何优雅地链接和提供图像?

java javadoc

9
推荐指数
2
解决办法
3104
查看次数

如何使用默认的Tomcat连接池在Spring Boot 1.3.x中的DataSource上设置自定义连接属性

我需要设置一些特定的Oracle JDBC连接属性,以加快批处理INSERTs(defaultBatchValue)和质量SELECTs(defaultRowPrefetch).我得到了如何用DBCP实现这一目标的建议(感谢M. Deinum),但我想:

  • 保留默认的Tomcat jdbc连接池
  • 保留application.yml进行配置

我正在考虑spring.datasource.custom_connection_properties将来支持或类似的功能请求,并且由于这种尝试,这已经成为可能.我这样做是通过在创建DataSource时传递相关信息并操纵DataSource的创建,如下所示:

@Bean
public DataSource dataSource() {
    DataSource ds = null;

    try {
        Field props = DataSourceBuilder.class.getDeclaredField("properties");
        props.setAccessible(true);
        DataSourceBuilder builder = DataSourceBuilder.create();
        Map<String, String> properties = (Map<String, String>) props.get(builder);

        properties.put("defaultRowPrefetch", "1000");
        properties.put("defaultBatchValue", "1000");

        ds = builder.url( "jdbc:oracle:thin:@xyz:1521:abc" ).username( "ihave" ).password( "wonttell" ).build();

        properties = (Map<String, String>) props.get(builder);

        log.debug("properties after: {}", properties);
    } ... leaving out the catches ...
    }
    log.debug("We are using this …
Run Code Online (Sandbox Code Playgroud)

connection-pooling jdbctemplate ojdbc spring-boot tomcat-jdbc

9
推荐指数
2
解决办法
3万
查看次数

在Java 9中使用JShell创建模块

只是探索Java的新版本,它的新模块系统,以及使用jshell.可能我的问题没有多大意义,但我只是好奇.

所以我想出了一个问题:有没有办法在jshell中创建一个模块?或模块只能创建module-info.java

java java-9 jshell java-module

8
推荐指数
1
解决办法
236
查看次数

SAML:组成员身份

有人告诉我,可以在SAML身份验证请求期间提供有关组成员资格的信息.我们必须连接到使用SAML的应用程序(我们最终创建了SAML答案XML).验证用户工作正常,但我找不到指定"成员"或类似属性的方法.

您能否向我解释如何在身份验证期间通过SAML传递组成员身份或有一个示例?

我知道有可能在所谓的政策决策点处理SAML的授权.但这意味着我们要检查授权的每个或一些(如果是批处理的)实体会发生SAML流.让我举个例子说明我们要做的事情.此示例已组成,但显示了我们要解决的问题.假设您有一个包含大量目录和文件的硬盘驱动器.我们使用SAML对尝试访问该驱动器的人进行身份验证.允许组"admin"的成员进行读写,组"user"的成员仅被授予读权限.因此,我们希望在用户进行身份验证时发送用户的组成员身份.因为否则意味着如果用户在必要的组中,应用程序必须检查每个文件.

saml saml-2.0

7
推荐指数
1
解决办法
3394
查看次数

在spring boot中将tomcat限制为某些ip地址

我需要将基于spring boot的应用程序的嵌入式tomcat限制为某些ip地址.我想只允许来自两个IP地址的传入连接,而不是全部.我知道如何在没有运行嵌入式的tomcat中执行此操作但不知道在spring boot中配置它的方法.各种server.tomcat.*属性似乎都没有为此提供支持.有一个属性server.address可以让我绑定到本地的IP地址,但这不是我需要的.

java security spring tomcat spring-boot

7
推荐指数
1
解决办法
5610
查看次数

laravel 5 ide自动完成

我想切换到laravel 5,但是在ide - autocompletion方面遇到了一些麻烦.我正在使用phpstorm.在谷歌,答案总是建议使用https://github.com/barryvdh/laravel-ide-helper.但是Laravel 5似乎已经破了.

我正在做的步骤是:

  1. 安装Laravel 5

    composer create-project laravel/laravel 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 需要ide-helper

    composer require barryvdh/laravel-ide-helper
    
    Run Code Online (Sandbox Code Playgroud)
  3. 添加了'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',

    ....
    'Illuminate\Translation\TranslationServiceProvider',
    'Illuminate\Validation\ValidationServiceProvider',
    'Illuminate\View\ViewServiceProvider',
    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
    
    Run Code Online (Sandbox Code Playgroud)
  4. 试图生成帮助文件

    artisan ide-helper:generate
    
    Run Code Online (Sandbox Code Playgroud)

但它总是打破以下错误:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501

0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper')
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console

\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...')
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu
t\ConsoleOutput))
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out
put\ConsoleOutput))
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
5 {main}
Run Code Online (Sandbox Code Playgroud)

也许有人有同样的问题,可以帮助我.除了barryvdh的ide-helper之外,我愿意为自动完成提供不同的解决方案.

autocomplete phpstorm laravel-5

7
推荐指数
1
解决办法
8015
查看次数

使用ResponseEntity进行流式传输的正确方法,并确保InputStream关闭

我们的一个应用程序泄漏文件句柄,我们还没有找到原因.

在代码中我可以看到几个与此类似的函数:

public ResponseEntity<InputStreamResource> getFoo( ... ) {
    InputStream content = getContent(...)
    InputStreamResource isr = new InputStreamResource(content);
    return ResponseEntity.status(HttpServletResponse.SC_OK).body(isr);
}
Run Code Online (Sandbox Code Playgroud)

(为简洁而if检查和try/或catch删除)

我确信这一部分会导致问题,因为当我用JMeter加载测试这个特定代码时,我可以看到getContent()在这个阶段失败:

is = Files.newInputStream(f.toPath());
Run Code Online (Sandbox Code Playgroud)

通常我会关闭InputStream但是因为这个简短而简单的代码我无法在之前关闭流return或调用body.

当我运行lsof(代码在Linux上运行)时,我可以看到数千个文件在读取模式下打开.所以我确定这个问题是由于流没有关闭引起的.

我应该交易最佳实践代码吗?

spring spring-boot spring-web request-mapping

7
推荐指数
2
解决办法
4164
查看次数

如何在 OpenApi 中定义别名,最终在 Pojo 中使用它

假设我的 openapi.yml 中有这个定义(这只是一个虚构的示例来描述我遇到的问题):

components:
  schemas:
    Address:
      type: object
      properties:
        name:
          type: string
        zip:
          type: integer
          format: int64
        town:
          type: string
Run Code Online (Sandbox Code Playgroud)

这将导致生成如下所示的模型代码:

public class Address   {
  @JsonProperty("name")
  private String name = null;

  @JsonProperty("zip")
  private Long zip = null;

  @JsonProperty("town")
  private String town = null;
...
Run Code Online (Sandbox Code Playgroud)

我的问题是,我必须将这个 Pojo 保留在数据库中,并且不存在表Address(让我们假设它被调用Places),并且邮政编码的列被调用zipcode而不是zip.

所以我需要件事:

  • 一种告诉 OpenAPI 有关别名Address=Placeszip=zipcode.
  • 一种使此信息更改所创建的代码的方法。例如,对于 Hibernate,这意味着在正确的位置添加@Table(name="Places")和。@Column(name="zipcode")

重要提示:我无法更改 API,预计会坚持使用Addresszip

这可以做到吗?我检查了规范以及 swagger-codegen …

swagger openapi swagger-codegen openapi-generator openapi-generator-cli

7
推荐指数
1
解决办法
3042
查看次数

如何使用REST在Hazelcast中显示(至少部分)键列表

我知道可以使用REST显示作为使用hazelcast存储的Map的一部分的键的值.

使用curl这将以这种方式完成:

curl -v -X GET http://127.0.0.1:5701/hazelcast/rest/maps/myMap/nameOfKeyInMap
Run Code Online (Sandbox Code Playgroud)

但是,如果我不知道使用了哪些密钥呢?遵循REST原则,我跳过了URL的nameOfKeyInMap部分,并期望Hazelcast返回密钥列表.但事实并非如此.

你知道如何获得至少一部分使用的密钥吗?我使用Hazelcast 3.4并检查了手册,但没有找到解决方案

我想使用REST,因为我需要让人们检查一下他们的计算机上没有浏览器的地图.

rest hazelcast

6
推荐指数
0
解决办法
479
查看次数

c枚举的重要性(typedef enum)

我最近在为我发布的答案中看到了这个:

    typedef enum
    {
        NO_OP,
        ADDITION,
    }   operator_t;

int main()
{
    operator_t operator = NO_OP;
}
Run Code Online (Sandbox Code Playgroud)

什么是typedef枚举,为什么要使用它?我用Google搜索并发现以下内容:http: //www.programiz.com/c-programming/c-enumeration

现在它对我来说听起来有点太技术性,所以我不认为我理解发生了什么或为什么会使用它.

奖金(可选):operator_t是什么类型的变量?

c

6
推荐指数
3
解决办法
3万
查看次数