小编Gér*_*aud的帖子

Spring-batch @BeforeStep不适用于@StepScope

我正在使用Spring Batch版本2.2.4.RELEASE我试着用有状态的ItemReader,ItemProcessor和ItemWriter bean编写一个简单的例子.

public class StatefulItemReader implements ItemReader<String> {

    private List<String> list;

    @BeforeStep
    public void initializeState(StepExecution stepExecution) {
        this.list = new ArrayList<>();
    }

    @AfterStep
    public ExitStatus exploitState(StepExecution stepExecution) {
        System.out.println("******************************");
        System.out.println(" READING RESULTS : " + list.size());

        return stepExecution.getExitStatus();
    }

    @Override
    public String read() throws Exception {
        this.list.add("some stateful reading information");
        if (list.size() < 10) {
            return "value " + list.size();
        }
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的集成测试中,我在一个内部静态java配置类中声明我的bean,如下所示:

@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class SingletonScopedTest {

    @Configuration
    @EnableBatchProcessing
    static class TestConfig {
        @Autowired …
Run Code Online (Sandbox Code Playgroud)

java spring spring-batch

25
推荐指数
1
解决办法
2万
查看次数

setuptools.find_packages中的"where"参数是什么?

在python项目上工作,我试图分离源代码和单元测试; 这是项目结构:

MyProject/
    MANIFEST.in
    README.md
    setup.py
    source/
        __init.py__
        my_project/
            __init.py__
            some_module.py
    test/
        __init.py__
        my_project/
            __init.py__
            test_some_module.py
Run Code Online (Sandbox Code Playgroud)

这是setup.py文件:

from setuptools import setup, find_packages

setup(
    name='my_project',
    packages=find_packages(where='./source'),
    description='My project to be packaged',
    version='1.0.0',
    author='me'
    install_requires=[
        'fastnumbers~=2.0.1',
        'numpy~=1.14.1',
        'pandas~=0.22.0'
    ],
    extras_require={
        'dev': ['check-manifest'],
        'test': [
            'mock',
            'PyHamcrest',
            'pytest',
            'pytest-cov'
        ],
    }
)
Run Code Online (Sandbox Code Playgroud)

然后,当我运行命令时python3 setup.py sdist,它失败并显示以下输出:

running sdist
running egg_info
writing my_project.egg-info/PKG-INFO
writing requirements to my_project.egg-info/requires.txt
writing dependency_links to my_project.egg-info/dependency_links.txt
writing top-level names to my_project.egg-info/top_level.txt
error: package directory 'my_project' does …
Run Code Online (Sandbox Code Playgroud)

python packaging setuptools

9
推荐指数
1
解决办法
2503
查看次数

连接到VPN后docker DNS配置未更新

我在 Ubuntu 18.04 上使用 docker 19.03.9;docker 守护进程配置为自动启动。当我连接到我的雇主 VPN 时,docker DNS 配置不会更新,除非我重新启动 docker 守护进程。

有没有办法在主机 DNS 配置更改时自动更新 docker DNS 配置?

调查

我的场景:我想从家里ping 公司网络内的服务器(比如server.mycompany.com)。我正在尝试从我的主机(运行 Ubuntu 的笔记本电脑)ping 它,然后从我主机上的容器内

注意:以下示例中所有 IP 地址都被屏蔽了

我创建了一个小的 docker 镜像来测试我的场景:

FROM ubuntu:18.04

RUN apt-get update \
    && apt-get install -yqq iputils-ping

CMD cat /etc/resolv.conf \
    && echo \
    && ping -c 2 server.mycompany.com
Run Code Online (Sandbox Code Playgroud)

然后我建立了这个形象: docker build -t test_dns .

1- 没有 VPN 连接的测试

在我的 Ubuntu 笔记本电脑的终端中,我执行以下 3 个命令:

    $ cat /etc/resolv.conf
    # Dynamic resolv.conf(5) file …
Run Code Online (Sandbox Code Playgroud)

dns vpn auto-update docker

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

标签 统计

auto-update ×1

dns ×1

docker ×1

java ×1

packaging ×1

python ×1

setuptools ×1

spring ×1

spring-batch ×1

vpn ×1