当前位置: 首页 > 知识库问答 >
问题:

启动http时的spring云配置克隆。后缓冲区问题

左丘积厚
2023-03-14

我得到了问题整数值http。使用bitbucket url启动spring云配置服务器时,postbuffer超出范围

应用yml

server:
    port: 8888

spring:
    application:
        name: CONFIGSERVER
    cloud:
     config:
        label: master
        server:
          git:
            clone-on-start: true
            uri: https://bitbucket.org/MyGitRepo/config_server_env_profiles.git
            username: <username>
            password: <password>

堆栈跟踪

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultEnvironmentRepository' defined in class path
 resource [org/springframework/cloud/config/server/config/DefaultRepositoryConfiguration.class]: Invocation of init method failed; nested exception is
 java.lang.IllegalArgumentException: Integer value http.postbuffer out of range
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1702)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.addCandidateEntry(DefaultListableBeanFactory.java:1325)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1291)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans(DefaultListableBeanFactory.java:1193)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1096)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPost
Processor.java:659)
        ... 96 more
Caused by: java.lang.IllegalArgumentException: Integer value http.postbuffer out of range
        at org.eclipse.jgit.lib.Config.getInt(Config.java:230)
        at org.eclipse.jgit.lib.Config.getInt(Config.java:209)
        at org.eclipse.jgit.transport.TransportHttp$HttpConfig.<init>(TransportHttp.java:247)
        at org.eclipse.jgit.transport.TransportHttp$3.parse(TransportHttp.java:237)
        at org.eclipse.jgit.transport.TransportHttp$3.parse(TransportHttp.java:234)
        at org.eclipse.jgit.lib.Config.get(Config.java:703)
        at org.eclipse.jgit.transport.TransportHttp.<init>(TransportHttp.java:282)
        at org.eclipse.jgit.transport.TransportHttp$1.open(TransportHttp.java:190)
        at org.eclipse.jgit.transport.Transport.open(Transport.java:566)
        at org.eclipse.jgit.transport.Transport.open(Transport.java:443)
        at org.eclipse.jgit.transport.Transport.open(Transport.java:324)
        at org.eclipse.jgit.transport.Transport.open(Transport.java:293)
        at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:225)
        at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:293)
        at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:190)
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.cloneToBasedir(JGitEnvironmentRepository.java:433)
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.initClonedRepository(JGitEnvironmentRepository.java:249)
        at org.springframework.cloud.config.server.environment.JGitEnvironmentRepository.afterPropertiesSet(JGitEnvironmentRepository.java:182)
        at org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.afterPropertiesSet(MultipleJGitEnvironmentRepository.
java:68)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1761
)

问题和解决方案可能是什么?

共有2个答案

百里雅珺
2023-03-14

在我的案例中,将全局配置设置为1MB有帮助:

git-config——全局http。后缓冲区1024

严玉泽
2023-03-14

显然,在幕后,org.eclipse.jgit库,而克隆使用系统配置的属性,其中一个属性是http.postBuffer

它尝试将值转换为整数,如果值太大(或太小),则会失败,并出现上述超出范围的错误。

我通过$git config--gethttp.postBuffer验证了属性,它返回了值4572864000

我核实过了。gitconfig文件,它是全局值,所以我将该值降低到524288000

然后它像魅力一样发挥作用。希望这能帮助面临同样问题的人。

 类似资料:
  • 我有一个使用paramiko的缓冲区的问题,我在这里发现了同样的问题,其中一个解决方案指出: 如果您只是调用.open()来获取SFTPFile实例,而不是使用.get(),那么就对该对象调用.read(),或者只是将其交给Python标准库函数shutil.copyFileObj()来下载内容。这将避免Paramiko预取缓存,并且允许您下载文件,即使它没有那么快。 如果我有:

  • 错误: hive-site.xml

  • 在这里,我使用rancher和docker compose来初始化spring cloud config客户端和服务器,但当spring cloud config server未就绪时,客户端启动失败,需要在服务器就绪时重新启动。我想问,当服务器准备就绪时,是否有任何机制可以让SpringCloudConfig客户端重新加载或重新启动?

  • 问题内容: 我正在使用gSoap将旧式C 系统重构为SOA。我们遇到了一些性能问题(非常大的XML),因此我的领导要我看一下协议缓冲区。我做到了,它看起来非常酷(我们需要C 和Java支持)。但是协议缓冲区是仅用于序列化的解决方案,现在我需要将其发送到Java前端。从C ++和Java角度来看,我应该使用什么来通过HTTP(只是内部网络)发送那些序列化的内容? PS。另一个人试图加速我们的gSoa

  • 我最近将我的应用程序配置为使用SpringCloudConfig和Github作为配置存储库。 Spring靴-2.1。1.发布 我的应用程序几乎使用了所有现成的东西。我刚刚在我有HikariCP自动配置在后台发挥神奇的作用。 我正在刷新我的应用程序使用这个作业,调用方法上的刷新endpoint。 一切似乎都很好,但每次刷新配置时,我都会看到以下日志。这些日志显示HikariCP池在每次刷新时都会

  • 我正在关注应用程序中的条目。 我有下面的spring云服务器应用程序代码。 我收到以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2021 02月24日01:39:52.356错误20804---[restartedMain]o.s.b.d.LoggingFailureAnalysisReporter: 应用程序无法启动 描述: