2016-04-12 15 views
1

Kodu indirerek ve devbox'ımdan yükledikten sonra this spring cloud app on github kod satırında bir satır çalışması yapıyorum. Web tarayıcınızda http://localhost:8080 yazdığınızda, ui uygulamasının içeriği yükler ve authserver ve resource uygulamalarından içerikle etkileşim kurabilir. bahar bulut uygulamasında port 8080 nerede tanımlandı?

Port 9999

ui uygulamanın zuul route tanımları, her ikisi de authserver uygulama için tanımlandığı gibidir, ve aynı zamanda authserver uygulama en application.properties içinde.

Benzer şekilde, port 9000ui uygulamanın yol tanımları, her ikisi de resource uygulama için tanımlandığı, ve ayrıca resource uygulama en application.properties.

Ama ben bile üç uygulamalardaki kodun her satırını inceleyerek ve ayrıca kelime 8080 için tüm Tutulma çalışma tam metin araması yapmak için bir Ctrl-H yaptıktan sonra, port 8080 için herhangi bir başvuru bulamıyor.

uygulaması, port 8080 numaralı istemci içeriğine nasıl hizmet vereceğini biliyor?

+0

varsayılan bu. – ESala

cevap

3

UI modülü aşağıdaki Yay önyükleme bağımlılığa sahiptir:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 

burada görüldüğü gibi bağımlılık kendi bağımlılıkları var, diyeceksin:

fiili Tomcat getiriyor
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-tomcat</artifactId> 
</dependency> 

gömülü kavanozlar

:

Spring Boot Starter Web POM.xml

Bu Bahar Boot en Tomcat Starter içerir

Spring Boot Starter Tomcat POM.xml

UI uygulaması bir Spring Boot uygulaması olduğundan (örn. Spring Boot Ana POM'unu kullanır ve @SpringBootApplication ile ana sınıfını açıklamalı), Classpath'ı temel alan birçok şeyi otomatik olarak yapılandırır.

Bildirimi Bu sınıftaki @ConditionalOnClass açıklama:

EmbeddedServletContainerAutoConfiguration

sonunda bu sınıfa yol açar:

gömülü Tomcat sunucusunun başlangıç ​​tetikler

TomcatEmbeddedServletContainer

.

burada görüldüğü gibi 8080 ayar aslında gömülü Tomcat bağımlılık geliyor Standart Liman:

org.apache.catalina.startup.Tomcat

protected int port = 8080; 
+1

Referanslarla ilerlemenin yolu. Teşekkürler ve +1. – CodeMed

1

Uygulamanızın tüm yapılandırmalarını saklamak için bir .properties veya .yml dosyası kullanabilirsiniz. Orada istediğiniz portu dinlemek için sunucu portu özelliğini tanımlayabilirsiniz. Eğer bir .properties kullanırsanız

böyle bir şey olacağını dosyası:

server.port=8082 

Veya bir .yml dosyasında böyle bir şey olurdu

:

server: 
    port: 8082 

için daha özellikleri hakkında ve baharda Yapılandırması kontrol this

+0

Bu, OP'ye hitap etmez. OP'de belirtildiği gibi, bu katılımcıdan örnek uygulamada ne göründüğünün hiçbiri görünmemektedir. OP, örnek uygulamanın nasıl yapılacağını sorar. "UI" uygulamasında "application.yml" ile doğrudan bağlantı şudur: https://github.com/spring-guides/tut-spring-security-and-angular-js/blob/master/oauth2/ui/ src/main/resources/application.yml – CodeMed

+1

Varsayılan olarak, Spring uygulamanızı 8080 numaralı bağlantı noktasında başlatır. Bunu bir özellik dosyasında geçersiz kılarsanız, bağlantı noktanızda başlatılır. Kodunuzda 8080 referansı yoktur, çünkü varsayılan ayarı Bahar'dır. –

+0

@NickTsitlakidis Varsayılan bağlantı noktası 8080 aslında bir Yay ayarı değildir. Gömülü Apache Tomcat bağımlılığından geliyor. Daha fazla bilgi için bu cevaba bakın: http://stackoverflow.com/a/36586730/1078565 –

İlgili konular