<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Syed Iftekharuddin</title>
    <description>The latest articles on DEV Community by Syed Iftekharuddin (@eriftekhar).</description>
    <link>https://dev.to/eriftekhar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F842085%2F036934ae-822e-420a-a8ab-f333caacfca9.png</url>
      <title>DEV Community: Syed Iftekharuddin</title>
      <link>https://dev.to/eriftekhar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eriftekhar"/>
    <language>en</language>
    <item>
      <title>Creating java client application with spring boot</title>
      <dc:creator>Syed Iftekharuddin</dc:creator>
      <pubDate>Wed, 03 Aug 2022 22:02:00 +0000</pubDate>
      <link>https://dev.to/eriftekhar/creating-java-client-application-with-spring-boot-3leg</link>
      <guid>https://dev.to/eriftekhar/creating-java-client-application-with-spring-boot-3leg</guid>
      <description>&lt;p&gt;I have a requirement for creating a client application in java (means a spring boot application with some front end using Thymeleaf). This frontend application should communicate with REST api to backend (which is another java application using spring rest) .&lt;/p&gt;

&lt;p&gt;My question is what technology or tools can I use to create frontend in java. I mean some tools or framework names would be helpful. I am new to frontend development.&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;

</description>
      <category>springboot</category>
    </item>
    <item>
      <title>Getting the database url at run time</title>
      <dc:creator>Syed Iftekharuddin</dc:creator>
      <pubDate>Mon, 04 Apr 2022 20:42:28 +0000</pubDate>
      <link>https://dev.to/eriftekhar/getting-the-database-url-at-run-time-3aji</link>
      <guid>https://dev.to/eriftekhar/getting-the-database-url-at-run-time-3aji</guid>
      <description>&lt;p&gt;There is a springboot application, which connects to the oracle data. The url for the database is configured as&lt;/p&gt;

&lt;p&gt;&lt;code&gt;spring.datasource.url=jdbc:oracle:thin:@(DESCRIPTION=\&lt;br&gt;
  (LOAD_BALANCE=OFF)(FAILOVER=ON)\&lt;br&gt;
  (ADDRESS=(PROTOCOL=TCP)(HOST=domainName1.com) (PORT=1521))\&lt;br&gt;
  (ADDRESS=(PROTOCOL=TCP)(HOST=domainName2.com)(PORT=1521))\&lt;br&gt;
  (CONNECT_DATA=(SERVICE_NAME=xyz)))&lt;/code&gt;&lt;br&gt;
This url is configured so that when one host is down then the application connects to second database. The url to the database is printed in the application healthcheck as shown below&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Hello &lt;br&gt;
version    : 4.0.0&lt;br&gt;
build      : 2022-03-3 &lt;br&gt;
datasource :    oracle.jdbc.OracleDriver&lt;br&gt;
db url     :    jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=domainName1.com) (PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=domainName2.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xyz)))&lt;br&gt;
db status  :    ok&lt;/code&gt;&lt;br&gt;
My question is how can I get just the host name of the database being used, that means how can I get the host currently being used(domainName1 or domainName2) by the application and display it on healthcheck?. For example as shown below.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Hello &lt;br&gt;
version    : 4.0.0&lt;br&gt;
build      : 2022-03-3&lt;br&gt;
datasource :    oracle.jdbc.OracleDriver&lt;br&gt;
db url     :    jdbc:oracle:thin:@domainName1.com: 1521/coldv1&lt;br&gt;
db status  :    ok (LVZ count = 379)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The java code I used for this healthcheck is as shown below.&lt;/p&gt;

&lt;p&gt;`@GetMapping(path = "/healthcheck",&lt;br&gt;
            produces = MediaType.APPLICATION_JSON_VALUE&lt;br&gt;
    )&lt;br&gt;
    public String getServiceStatus(){&lt;br&gt;
        String[] activeProfiles = environment.getActiveProfiles();&lt;br&gt;
        final BeanWrapper accessor = PropertyAccessorFactory.forBeanPropertyAccess(dataSource);&lt;br&gt;
        final String driverClassName = String.valueOf(accessor.getPropertyValue("driverClassName"));&lt;br&gt;
        String url = null;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    if(activeProfiles[1].equals("external_tomcat")) {
        url = String.valueOf(accessor.getPropertyValue("url"));
    }else{
        try {
            String[] dataSourceProperties = nameService.getDataSource();
            url = dataSourceProperties[0];
        } catch (SQLException ex) {
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;//                throwables.printStackTrace();&lt;br&gt;
                log.error(ex.getMessage(), ex);&lt;br&gt;
            }&lt;br&gt;
        }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    String version = buildProperties.getVersion();
    String buildTimestamp = String.valueOf(buildProperties.getTime());
    BigDecimal count = nameService.getCount("Table_name_of_database");

    StringBuilder result = new StringBuilder("Hello")
            .append("\nversion    :\t")
            .append(version)
            .append("\nbuild      :\t")
            .append(buildTimestamp)
            .append("\ndatasource :\t")
            .append(driverClassName)
            .append("\ndb url     :\t")
            .append(url)
            .append("\ndb status  :\tok  ")
            .append(count.intValue())
            .append(")");
    return result.toString();
}`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;NameService.java&lt;br&gt;
 `@Override&lt;br&gt;
    public String[] getDataSource() throws SQLException {&lt;br&gt;
        return getDataSourceProperties();&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public String[] getDataSourceProperties() {
    String[] dataSourceProperties = new String[2];
    HikariDataSource dataSource = getDataSourceFromHibernateEntityManager();
    if(dataSource.getJdbcUrl() != null){
        dataSourceProperties[0] = dataSource.getJdbcUrl();
        dataSourceProperties[1] = dataSource.getDataSourceClassName();
    }
    return dataSourceProperties;
}`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>springboot</category>
      <category>java</category>
      <category>spring</category>
    </item>
  </channel>
</rss>
